MailComposerを使ってみました。ここで私が使用したコードは次のとおりです。MailComposerは解読されません
func setupMailer() {
if MFMailComposeViewController.canSendMail() {
emailController.mailComposeDelegate = self
emailController.setToRecipients([]) // set the email address
emailController.setSubject("BackgroundTask Test")
emailController.setMessageBody("Message body", isHTML: false)
}
}
、ユーザーがボタンを押したときに:
func buttonPressed(button: UIButton) {
debugPrint("buttonPressed", button)
let path = dirpath.appendingPathComponent(filename)
let data = NSData(contentsOfFile: path.path)
emailController.mailComposeDelegate = self
emailController.addAttachmentData(data! as Data, mimeType: "text/csv", fileName: filename)
present(emailController, animated: true, completion: nil)
}
そして却下:
@objc func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
debugPrint("mailComposeController dismiss")
controller.dismiss(animated: true, completion: nil)
}
をボタンが押された場合ことが判明しました私が送信またはキャンセルを選択しても、メール作成者は正常に動作します。
ただし、2回目以降の送信/キャンセル後は、メール作成者は解約できません。送信には電子メールを送信できるレスポンスがありますが、メールコンポーザーインターフェイスは決して拒否しません。
最初に機能func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?)
がトリガーされなくなったことがわかりました。
手がかりはありますか?