Просто пытаюсь разрешить пользователю отправлять электронные письма. В тот момент, когда нажимается кнопка «контакт», у меня появляется черный экран, а не отображение mailComposers.
Отладчик отвечает
2018-05-14 11:10:59.465952-0400 Приложение [2333:757177] Не удалось установить (keyPath) определенное пользователем проверенное свойство на (UIButton): [ setValue: forUndefinedKey:]: этот класс не соответствует кодированию значения ключа для ключ keyPath.
Однако это происходит только при перемещении меню слева направо с помощью функции SWReveal. При удалении кода снизу все остальные функции работают нормально. Только при использовании кода ниже, который дает мне черный экран в момент нажатия «кнопки контакта».
import Foundation
import UIKit
import MessageUI
class SendEmailVC: MFMailComposeViewController, MFMailComposeViewControllerDelegate
{
@IBAction func Send_Tapped(_ sender: Any)
{
if MFMailComposeViewController.canSendMail()
{
contact()
let mailComposeViewController = configureMailController() //FIXED √
self.present(mailComposeViewController, animated: true, completion: nil)
}
else
{
showMailError()
}
}
func configureMailController() -> MFMailComposeViewController
{
let mailComposerVC = MFMailComposeViewController()
mailComposerVC.mailComposeDelegate = self
mailComposerVC.setToRecipients(["[email protected]"])
mailComposerVC.setSubject("Hello")
mailComposerVC.setMessageBody("How are you doing?", isHTML: false)
return mailComposerVC
}
/*
* DON'T EDIT THE CODE BELOW.
*/
func showMailError()
{
let sendMailErrorAlert = UIAlertController(title: "Email failed to send", message: "Your device fail to send the email", preferredStyle: .alert)
let dismiss = UIAlertAction(title: "Dale", style: .default, handler: nil)
sendMailErrorAlert.addAction(dismiss)
self.present(sendMailErrorAlert, animated: true, completion: nil)
}
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?)
{
controller.dismiss(animated: true, completion: nil)
}
}
configureMailController
после проверкиcanSendMail
. - person rmaddy   schedule 13.05.2018let mailComposeViewController = configureMailController()
внутрь оператораif
. - person rmaddy   schedule 13.05.2018