あなたがうまくいくことを祈っています。MFMailComposeViewControllerが終了しません(iOS10)
私はSwiftにはとても新しいです。私はiOS10 SDKを使ってXCode 8.0上にiOSアプリケーションを構築しました。私は、ユーザーが事前に設定された電子メールアドレスに電子メールを送信できるようにする機能を追加しようとしています。送信ボタンをタップすると、MFMailComposeViewControllerが正常に開き、追加されたメールアカウントを使用して送信またはキャンセルすることができます。送信をクリックすると、実際に電子メールが送信されますが、メールを送信した後、またはキャンセルボタンをクリックしても、MFMailComposeViewControllerは終了しません。助けてください!
おかげ
import UIKit
import MessageUI
class EmailHelpdesk_ViewController: UIViewController, MFMailComposeViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//Email Subject and Body text fields.
@IBOutlet var helpdesk_email_subject: UITextField!
@IBOutlet var helpdesk_email_body: UITextView!
//Helpdesk (Submit Button - Config)
@IBAction func helpdesk_email_send(_ sender: AnyObject) {
let HDsubjectText = helpdesk_email_subject.text
let HDbodyText = helpdesk_email_body.text
MFMailComposeViewController to be called.
let mail_controller_compose = MFMailComposeViewController()
mail_controller_compose.mailComposeDelegate = self
mail_controller_compose.setToRecipients(["[email protected]"])
mail_controller_compose.setSubject(HDsubjectText!)
mail_controller_compose.setMessageBody(HDbodyText!, isHTML: false)
self.present(mail_controller_compose, animated: true, completion: nil)
}
func mailComposeController(controller: MFMailComposeViewController,
didFinishWithResult result:MFMailComposeResult, error: NSError?) {
controller.dismiss(animated: true, completion: nil)
}
}
}
メソッド/関数と変数名は、慣習的にラクダのようにする必要があります。たとえば、 'helpdesk_email_send'の代わりに' helpdeskEmailSend'を使います。 – Adrian