2
In-App Mailの実装方法を教えたチュートリアルの後、キャンセルボタンと送信ボタンが失敗して表示が消えるようです。MFMailComposeViewControllerは解消しません
今、私は、このメソッドを実装する必要が言うここにいくつかのコメント読んでいる:
-(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
[self dismissModalViewControllerAnimated:YES];
}
をしかし、それはない、シミュレータや私のiPhone 4上で、問題が解決しない - メッセージが取得ん送信しますが、ビューは却下されません。
これは、これまでの私のコードです:
#pragma mark - InApp Mail
- (IBAction)openMail:(id)sender
{
if ([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
[mailer setSubject:@"iOS School - MultipleAlertViews"];
NSArray *toRecipients = [NSArray arrayWithObjects:@"", nil];
[mailer setToRecipients:toRecipients];
// Attach an image to the email
NSString *pathFile01 = @"http://dl.dropbox.com/u/61711378/iOS%20School%20-%20Docs/MultipleAlertViewsVCh.pdf";
NSURL *pdfURLFile01 = [NSURL URLWithString:pathFile01];
NSData *pdfDataFile01 = [NSData dataWithContentsOfURL:pdfURLFile01];
[mailer addAttachmentData:pdfDataFile01 mimeType:@"application/pdf" fileName:@"MultipleAlertViewsVCh.pdf"];
NSString *pathFile02 = @"http://dl.dropbox.com/u/61711378/iOS%20School%20-%20Docs/MultipleAlertViewsVCm.pdf";
NSURL *pdfURLFile02 = [NSURL URLWithString:pathFile02];
NSData *pdfDataFile02 = [NSData dataWithContentsOfURL:pdfURLFile02];
[mailer addAttachmentData:pdfDataFile02 mimeType:@"application/pdf" fileName:@"MultipleAlertViewsVCm.pdf"];
NSString *emailBody =
@"Hello,<br/><br/>You requested code for this project, which you can now use in XCode <br/><br/> You will find 2 Attachements.<br/>One is the Header file and the other is the Implementation file.<br/><br/>Thank you for using this app, if you find it useful, don't forget to give it a Rating in the App Store.<br/><br/>Kind Regards,<br/>iOS School";
[mailer setMessageBody:emailBody isHTML:YES];
[self presentModalViewController:mailer animated:YES];
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure"
message:@"Your device doesn't support the composer sheet"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
switch (result)
{
case MFMailComposeResultCancelled:
NSLog(@"Mail cancelled: you cancelled the operation and no email message was queued.");
break;
case MFMailComposeResultSaved:
NSLog(@"Mail saved: you saved the email message in the drafts folder.");
break;
case MFMailComposeResultSent:
NSLog(@"Mail send: the email message is queued in the outbox. It is ready to send.");
break;
case MFMailComposeResultFailed:
NSLog(@"Mail failed: the email message was not saved or queued, possibly due to an error.");
break;
default:
NSLog(@"Mail not sent.");
break;
}
// Remove the mail view
[self dismissModalViewControllerAnimated:YES];
}
あなたが見ることができるように、私は
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
乾杯ジェフ
ありがとうございました - 私はあなたの答えを受け入れることができる前に10分待つ必要がありますが、後でそれを行います:-) –
奇妙、ありがとう、jrturton。 – Morkrom