Сегодня я обнаружил, что Swift 3.0 добавляет новую подпись функции для этого вопроса. До этого mailComposeController никогда даже не вызывался, и почта (хотя и отправляла) просто зависала там. Когда я переключился на ниже, это сработало.
public func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith: MFMailComposeResult, error: Error?) {
self.dismiss(animated:true, completion: nil)
}