MFMailComposeViewController исчезает сразу под iOS9

Однажды я представляю MFMailComposeViewController уволен с ошибкой:

viewServiceDidTerminateWithError: Ошибка Domain=_UIViewServiceInterfaceErrorDomain Code=3 "(null)" UserInfo={Сообщение = Соединение со службой прервано}

Что здесь происходит?

ОЧЕНЬ ВАЖНОЕ ПРИМЕЧАНИЕ

Это работает очень хорошо под iOS8,

1 ответ

Я не могу помочь вам, так как вы не опубликовали никакого кода, но вот рабочая копия MailComposeController на iOS9, использующая его в моем приложении без каких-либо проблем. Важно, чтобы ваш класс соответствовал MFMailComposeViewControllerDelegate. Обратите внимание, что метод sendMail связан с кнопкой в ​​моем проекте

@IBAction func sendMail(sender: AnyObject) {

    let mailComposeViewController = configuredMailComposeViewController()

    if MFMailComposeViewController.canSendMail() {
        self.presentViewController(mailComposeViewController, animated: true, completion: nil)
    } else {
        self.showSendMailErrorAlert()
    }
}


func configuredMailComposeViewController() -> MFMailComposeViewController {
    let mailComposerVC = MFMailComposeViewController()
    mailComposerVC.mailComposeDelegate = self 
    mailComposerVC.setToRecipients(["yourMail@goesHere"])

    return mailComposerVC
}

func showSendMailErrorAlert() {

   print("There was an error.")
    //In case of error with email account on device, you should implement an alert here

}

func mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {
    controller.dismissViewControllerAnimated(true, completion: nil)
}
Другие вопросы по тегам