アプリケーションにアプリ内メールを実装しようとしていますが、重大な問題が発生しています。ボタンを押してアプリ内メールを開くと、問題なく動作します。以下は私が経験している問題です:
キャンセルを押すと、キャンセルの下書きの保存/削除を求められます。[下書きを削除] をタップすると、アクション シートは消えますが、メール作成ツールは開いたままです。私はそれを操作して送信を何度もタップすると、メールを送信し続けます。ただし、キャンセル ボタンはもう操作できません。[下書きを保存] ボタンをクリックするとメールの下書きが保存されますが、コンポーザーがまだ起動していて、キャンセル ボタンを操作できます。
私が使用しているコードは次のとおりです。
- (IBAction)sendEmail:(id)sender {
//Set up of e-mail
sendMail = [[MFMailComposeViewController alloc] init];
sendMail.mailComposeDelegate = self;
//Set the subject
[sendMail setSubject:@"Demo attachment"];
//To recipients
NSArray *toRecepients = [[NSArray alloc] initWithObjects:@"exampleEmail@email.com", @"exampleEmail2@email.com", nil];
[sendMail setToRecipients:toRecepients];
//[sendMail setBccRecipients:toRecepients];
//[sendMail setCcRecipients:toRecepients];
//Add message to the body
NSString *emailBody = @"This is a test email with an attachment.\n";
[sendMail setMessageBody:emailBody isHTML:YES];
//Include an attachment
//NSData *pdfData = [NSData dataWithContentsOfFile:@"demo.pdf"];
//[sendMail addAttachmentData:pdfData mimeType:@"file/pdf" fileName:@"Some file"];
[self presentViewController:sendMail animated:YES completion:NULL];
}
アプリを iOS 6 に展開し、iPhone 5 をテスト デバイスとして使用します。どんな助けでも大歓迎です!