1

我已将 XCode 更新到 4.5,如果我按下按钮发送电子邮件,现在电子邮件功能会崩溃。

我做错了什么?

我已经在我的头文件中实现了 MessageUI.framework

#import <UIKit/UIKit.h>
#import <MessageUI/MessageUI.h>

@interface ImpressumViewController : UIViewController <MFMailComposeViewControllerDelegate>

这是我的按钮代码:

- (IBAction)kontakt:(id)sender {

    MFMailComposeViewController *mailcontroller = [[MFMailComposeViewController alloc] init];
    [mailcontroller setMailComposeDelegate:self];
    NSString *email =@"Youtube@gmail.com";
    NSArray *emailArray = [[NSArray alloc] initWithObjects:email, nil];
    [mailcontroller setToRecipients:emailArray];
    [mailcontroller setSubject:@"Youtube Tutorials"];
    [self presentViewController:mailcontroller animated:YES completion:nil]; }

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{
    [self dismissViewControllerAnimated:YES completion:nil];



    }
4

1 回答 1

0

您需要在此委托方法中编写以下代码

- (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 the next time the user connects to email");
            break;
        case MFMailComposeResultFailed:
            NSLog(@"Mail failed: the email message was nog saved or queued, possibly due to an error");
            break;
        default:
            NSLog(@"Mail not sent");
            break;
    }

    //[self dismissModalViewControllerAnimated:YES];
}
于 2013-06-05T09:23:33.977 回答