Das macht mich verrückt. Mit diesem Code-Snippet kann der Benutzer eine E-Mail mit einem Bild senden, das in der App erstellt wurde. Alles funktioniert perfekt, außer die self.dismiss(animated: true, completion: nil)
- die MFMailComposeViewController
wird nicht entlassen.MFMailComposeViewController weigern sich zu entlassen
Ich habe diese drei möglichen Probleme https://stackoverflow.com/a/13217443/5274566 als mein Start, um das Problem zu lösen, aber es wird immer noch nicht funktionieren. Der Controller bleibt trotz der Tatsache, dass eine Mail gesendet wurde oder cancel
wurde angezapft.
Die Protokollimplementierung MFMailComposeViewControllerDelegate
wird hinzugefügt.
func mailOpen(alertAction: UIAlertAction) {
if MFMailComposeViewController.canSendMail() {
let mailcontroller = MFMailComposeViewController()
mailcontroller.mailComposeDelegate = self;
mailcontroller.setSubject("Subject")
let completeImage = newImage! as UIImage
mailcontroller.addAttachmentData(UIImageJPEGRepresentation(completeImage, CGFloat(1.0))!, mimeType: "image/jpeg", fileName: "Image")
mailcontroller.setMessageBody("<html><body><p>Message</p></body></html>", isHTML: true)
self.present(mailcontroller, animated: true, completion: nil)
} else {
let sendMailErrorAlert = UIAlertView(title: "Could Not Send Email", message: "Your device could not send the e-mail. Please check e-mail configuration and try again.", delegate: self, cancelButtonTitle: "Got it!")
sendMailErrorAlert.show()
}
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {
self.dismiss(animated: true, completion: nil)
}
}//end of mail
öffnende Klammer sollte nicht gewickelt werden (siehe https://github.com/raywenderlich/swift-style-guide#spa cing). –
@PEEJWEEJ Es gibt keinen Grund, die Antwort von jemandem zu ändern, nur um die Position geschweifter Klammern zu ändern. Verschiedene Menschen bevorzugen unterschiedliche Stile. – rmaddy
@deville: Es gibt kein offizielles Dokument, das besagt, welcher Stil befolgt werden sollte. Ich bevorzuge diesen Stil, da es für mich sehr viel einfacher ist, die Klammer zu öffnen und zu schließen. –