На том же контролере просмотра мы можем отправить электронное письмо или текстовое сообщение, чтобы отправить информацию другу. Текстовое сообщение в приложении полностью работает. Но для электронной почты приложение электронной почты открывается внутри моего приложения со всей информацией, которую я просил написать, но невозможно отменить ее, нажав на отмену, ничего не происходит. Я пробовал mc.mailComposeDelegate = self или mc.delegate = self и MFMailComposeViewControllerDelegate тоже наверху. Я посмотрел все в Интернете, я не нашел объяснений. mailCompositionController никогда не вызывается! У вас есть идеи?SWIFT - mailComposeDelegate not called: отмена MFMailComposeViewController не работает
class inviteAFriendViewController: UIViewController, MFMessageComposeViewControllerDelegate, MFMailComposeViewControllerDelegate {
@IBAction func emailButtonDidTouch(sender: AnyObject) {
sendEmail()
}
func sendEmail() {
let emailTitle = "text"
let messageBody = "text"
let toRecipents = [""]
let mc = MFMailComposeViewController()
//mc.mailComposeDelegate = self
mc.delegate = self
mc.setSubject(emailTitle)
mc.setMessageBody(messageBody, isHTML: false)
mc.setToRecipients(toRecipents)
presentViewController(mc, animated: true, completion: nil)
}
func mailComposeController(controller2: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {
switch result.rawValue {
case MFMailComposeResultCancelled.rawValue:
print("Mail cancelled")
controller2.dismissViewControllerAnimated(true, completion: nil)
case MFMailComposeResultSaved.rawValue:
print("Mail saved")
controller2.dismissViewControllerAnimated(true, completion: nil)
case MFMailComposeResultSent.rawValue:
print("Mail sent")
controller2.dismissViewControllerAnimated(true, completion: nil)
case MFMailComposeResultFailed.rawValue:
print("Mail sent failure.")
controller2.dismissViewControllerAnimated(true, completion: nil)
default:
break
}
controller2.dismissViewControllerAnimated(true, completion: nil)
}
О, боже, это работает, я не знаю, кто вы, но спасибо 1000 раз! Хорошего дня! – Oscar