У меня есть то, что я считаю уникальной проблемой. У меня не получается закрыть окно электронной почты. Я использую Xcode 8.
Электронное письмо правильно закрывается при первом открытии, но если я открою его снова, оно не исчезнет. Если я нажму «Отмена», это не даст мне возможность «Удалить черновик». Если я нажму «Отправить», электронное письмо будет отправлено, но окно не закроется.
Мой код ниже. mailComposeController
вызывается правильно в первый раз, но никогда не вызывается во второй раз. У кого-нибудь есть идеи о том, что мне не хватает?
let mail = MFMailComposeViewController()
func sendEmail(body: String, subject: String) {
if MFMailComposeViewController.canSendMail() {
mail.mailComposeDelegate = self
mail.setSubject(subject)
mail.setMessageBody("\(body)", isHTML: false)
if let data = (body as NSString).data(using: String.Encoding.utf8.rawValue){
//Attach File
mail.addAttachmentData(data, mimeType: "text/plain", fileName: "data.txt")
}
present(mail, animated: true)
} else {
// show failure alert
}
}
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
controller.dismiss(animated: true, completion: nil)
}