1

アプリケーションにアプリ内メールを実装しようとしていますが、重大な問題が発生しています。ボタンを押してアプリ内メールを開くと、問題なく動作します。以下は私が経験している問題です:

キャンセルを押すと、キャンセルの下書きの保存/削除を求められます。[下書きを削除] をタップすると、アクション シートは消えますが、メール作成ツールは開いたままです。私はそれを操作して送信を何度もタップすると、メールを送信し続けます。ただし、キャンセル ボタンはもう操作できません。[下書きを保存] ボタンをクリックするとメールの下書きが保存されますが、コンポーザーがまだ起動していて、キャンセル ボタンを操作できます。

私が使用しているコードは次のとおりです。

    - (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 をテスト デバイスとして使用します。どんな助けでも大歓迎です!

4

1 に答える 1

0

[self dismissModalViewControllerAnimated:YES];デリゲートの適切な場所にa を追加します。

- (void)mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    //.. other completion code

    [self dismissModalViewControllerAnimated:YES];
}
于 2012-12-18T17:13:52.297 に答える