I converted my app to swift 3.0 and have a problem with MailComposeController
. When I call function:
`func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?){
controller.dismiss(animated: true, completion: nil)
}`
first of all I have an error with info:
what is strange for my, becouse I copy and paste this method from MFMailComposeViewControllerDelegate
. When I change Error
to NSError
it works, but I receive a warning with info, this method needs to be private to avoid this warning.
When I'm in mailComposer and see email and try to tap Cancel
this controller doesn't disapear. Any solution how to dismiss this controller?
I had the same problem because I was importing RealmSwift
, which has its own Error
struct.
Fix it by specifying which Error type you want. In this case, Swift.Error
.
Full Code:
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Swift.Error?){ controller.dismiss(animated: true, completion: nil) }
来源:https://stackoverflow.com/questions/39601954/mailcomposer-didfinishwith-results-doesnt-work-in-swift-3-0