質問: @"test"; [controller setMessageBody:messageBody isHTML:NO]; [self presentViewController:controller animated:YES completion:nil]; ``` `canSendMail` の判断は直前に入れています。
回答: iOS8のシミュレータでのみ発生する問題みたいですね。 `MFMailComposeViewController` を初期化してすぐに使うとこのようなエラーが発生するらしく、 * アプリが起動した時点で `MFMailComposeViewController` を初期化し、インスタンスを保持する * メールを送信するときはその場で初期化する代わりに、用意しておいたインスタンスを使う * 同じインスタンスは再利用せず、メール送信後に作り直す という方法で回避できるようです。 参考: ios - I have REAL misunderstanding with MFMailComposeViewController in Swift (iOS8) in Simulator - Stack Overflow (サンプルコードも載っています)