小编m4f*_*050的帖子

线程1:MFMailComposeViewController的dismissModalViewController上的EXEC_BAD_ACCESS(试过iOS 5.1,5,4.3)

好的,这一直困扰着我一段时间......

我已检查过,所有其他问题/答案都与非ARC项目有关.

每当我提出MFMCvc并且我快速取消消息时,我就会在iPhone上收到Thread1:EXEC_BAD_ACCESS错误消息.可以在iPad上正常工作,或者我让它静坐(比如30秒或更长时间)

有什么建议吗?(除了放一个计时器而不是在计时器启动之前解雇?)

BTW我对MFMessageComposeViewController做了同样的事情,它在iPhone和iPad上运行良好.

这是我的代码来呈现它

if (([action isEqualToString:@"EMail"]) && contact.length>0)
{
    MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
    if([MFMailComposeViewController canSendMail]) {
        [mailViewController setSubject:@""];
        [mailViewController setMessageBody:@"" isHTML:NO];
        [mailViewController setToRecipients:[NSArray arrayWithObject:contact]];
        [mailViewController setMailComposeDelegate:self];
        [self presentModalViewController:mailViewController animated:NO];
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我解雇它的地方

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
    {
        switch (result)
        {
            case MFMailComposeResultCancelled:
            {
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Send EMail" message:@"EMail Has Been Cancelled"
                                                               delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
                [alert show];
            }
                break;
            case MFMailComposeResultFailed:
            {
                NSLog(@"Error");
            }
                break;
            case MFMailComposeResultSent:
            {
                UIAlertView *alert = …
Run Code Online (Sandbox Code Playgroud)

iphone exc-bad-access ios mfmailcomposeviewcontroller

1
推荐指数
1
解决办法
1306
查看次数