Привет, Vipul, вы получаете ошибку, потому что в своем коде вы присваиваете viewcontroller для себя, так что вам нужно просто ввести этот контроллер
mc.mailComposeDelegate = self as? MFMailComposeViewControllerDelegate
это решит вашу проблему, и я также предлагаю вам предоставить реализацию по умолчанию для MFMailComposeViewControllerDelegate, как это
import MessageUI
extension MFMailComposeViewControllerDelegate {
public func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?){
switch result {
case .cancelled:
print_debug("Mail cancelled")
case .saved:
print_debug("Mail saved")
case .sent:
print_debug("Mail sent")
case .failed:
print_debug("Mail sent failure: \(error?.localizedDescription ?? "Mail not sent")")
default:
break
}
controller.dismiss(animated: true, completion: nil)
}
}
и вам не нужно устанавливать mc.mailComposeDelegate