アプリケーションを介してメールを送信しようとしていますが、次のコードを使用しています。
if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
NSString *subject = @"";
NSString *body = @"";
[controller setSubject:subject];
[controller setMessageBody:body isHTML:YES];
[self presentModalViewController:controller animated:YES];
} else {
NSString *message = @"Error opening mail, please make sure you have an email account setup";
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Oops" message:message delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
}
iPhone 5で、本体がない状態で作成画面がポップアップするという奇妙なエラーが発生します(本体は上に設定されていますが)。ボックスをクリックするとカーソルが表示されないため編集できず、送信ボタンはクリックできません。画面を閉じると、次のように表示されます。
_serviceViewControllerReady:error: Error Domain=_UIViewServiceErrorDomain Code=1 "The operation couldn’t be completed. (_UIViewServiceErrorDomain error 1.)"
ただし、これをiPhone 4s、iPhone 4、およびシミュレーターでテストすると、正常に動作します。また、別のiPhone 5でテストしたところ、正常に動作しました。本体があり、メール等を送ることができます。
他に足りないものはありますか?私は自分の電話のメールに関連付けられた2つのメールアカウントを持っているので、うまくいくcanSendMail
はずです...