【问题标题】:MFMailComposeViewController crash when pressing "Delete Draft"按“删除草稿”时 MFMailComposeViewController 崩溃
【发布时间】:2013-04-28 20:16:33
【问题描述】:

我有一个调用 MFMailComposeViewController 的按钮。有时,当我单击“删除草稿”时,应用程序会崩溃,但有时它会正确关闭视图。我不明白为什么。这是我的代码:

- (IBAction)openEmail:(id)sender {
if ([MFMailComposeViewController canSendMail]) {
    MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
    composer.mailComposeDelegate = (id)self;
    NSArray *myEmail = [[NSArray alloc] initWithObjects:@"me@gmail.com", nil];
    [composer setToRecipients:myEmail];
    [self presentViewController:composer animated:YES completion:nil];
    [[composer navigationBar] setTintColor:[UIColor colorWithRed:0.843 green:0.435 blue:0.435 alpha:1]];
}
else {

   }
}

还有这个方法:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
switch (result)
{
    case MFMailComposeResultCancelled:
        NSLog(@"Mail cancelled");

        break;
    case MFMailComposeResultSaved:
        NSLog(@"Mail saved");

        break;
    case MFMailComposeResultSent:
        NSLog(@"Mail send");

        break;
    case MFMailComposeResultFailed:
        NSLog(@"Mail failed");

        break;
    default:
        NSLog(@"Mail not sent.");

        break;
}
[self dismissViewControllerAnimated:YES completion:nil];
}

谁能帮帮我?

【问题讨论】:

    标签: xcode email mfmailcomposeviewcontroller


    【解决方案1】:

    我以前也遇到过这种情况,你的代码中潜在的问题区域可能是这行:

    MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
    

    很可能在调用MFMailComposeViewControllerDelegate 方法时,您的composer 对象已被释放。相反,请尝试在强属性上启动 MFMailComposeViewController,如下所示:

    self.composer = [MFMailComposeViewController new];
    

    您可以将self.composer 设置为nil,一旦您对委托方法执行操作以释放MFMailComposeViewController

    【讨论】:

      【解决方案2】:

      你试过了吗:

      [self presentModalViewController:_picker animated:YES];
      

      注意到“模式”了吗?

      还有:

      [self dismissModalViewControllerAnimated:YES];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-14
        相关资源
        最近更新 更多