MFMailComposeViewController马上解散

Tru*_*ong 24 objective-c ios mfmailcomposer mfmailcomposeviewcontroller

情况是MFMailComposeViewController将被呈现.我看到它已经完成了一半,但后来被解雇了.

这是错误:

_serviceViewControllerReady:error:Error Domain = _UIViewServiceInterfaceErrorDomain Code = 3"无法完成操作.(_UIViewServiceInterfaceErrorDomain error 3.)"

这是我提供MFMailComposeViewController的源代码:

-(void) MailExecute {
    if ([MFMailComposeViewController canSendMail]) 
    {
        MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];   
        mailViewController.mailComposeDelegate = self;
        [mailViewController setSubject:NSLocalizedString(@"Check this new look", @"")];
        [mailViewController setMessageBody: @"my new look" isHTML:YES];

        [self presentModalViewController:mailViewController animated:YES];

        [mailViewController release];
    }
    else 
    {
        UIAlertView *alertInternal = [[UIAlertView alloc]
                                      initWithTitle: NSLocalizedString(@"Notification", @"")
                                      message: NSLocalizedString(@"You have not configured your e-mail client.", @"")
                                      delegate: nil
                                      cancelButtonTitle:NSLocalizedString(@"OK", @"")
                                      otherButtonTitles:nil];
        [alertInternal show];
        [alertInternal release];
    }
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,有时会发生,有时则不然.请帮帮我!我花了将近1个工作日来解决这个问题,但没有成功.

tob*_*pwn 2

UIView您的代码看起来是正确的,并且如上所述,错误消息强烈表明这与正确的(不是具体的)有关MFMail。问题几乎肯定存在于代码中的其他地方,并且可能难以排除故障。

需要寻找的一些东西:

  1. 其他动画或视图控制器转换/解除同时或不正确地发生(可能像这样
  2. 当然,释放/保留问题

如果这些看起来都不是解决办法,请尝试注释掉调用此方法的视图控制器中发生的所有其他内容,然后看看它是否有效。

如果您仍然无法使其工作,请提供失败代码的最简单版本,以便我们进一步排除故障。:)