Iphone MFmailcomposer有时会出错?

Iphone MFmailcomposer有时会出错?,iphone,ios,ipad,Iphone,Ios,Ipad,我正在使用MFMailcomposer从IPhone中的应用程序发送邮件。一切正常,但当我将其移植到IPhone 5和ios6时 \u-serviceViewControllerReady:error:error Domain=\u-UIViewServiceInterfaceErrorDomain code=1“操作无法完成。(\u-UIViewServiceInterfaceErrorDomain error 1.但如果我再次运行,则运行正常 我是这样介绍邮件作曲家的` action { C

我正在使用MFMailcomposer从IPhone中的应用程序发送邮件。一切正常,但当我将其移植到IPhone 5和ios6时

\u-serviceViewControllerReady:error:error Domain=\u-UIViewServiceInterfaceErrorDomain code=1“操作无法完成。(\u-UIViewServiceInterfaceErrorDomain error 1.
但如果我再次运行,则运行正常

我是这样介绍邮件作曲家的`

action
{
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
    if (mailClass != nil)
    {
        // We must always check whether the current device is configured for sending emails
        if ([mailClass canSendMail])
        {
            [self displayComposerSheet];
        }
        else
        {
            [self launchMailAppOnDevice];
        }
    }
    else
    {
        [self launchMailAppOnDevice];
    }

}


void)displayComposerSheet 
{

    AppDelegate *appdelegate=[[UIApplication sharedApplication] delegate];
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;  

    [picker setSubject:@"report"];



    // Set up recipients
    NSArray *toRecipients=[NSArray arrayWithObject:@""]; 
    NSArray *ccRecipients =[[NSArray alloc]init];//= [NSArray arrayWithObjects:@"", @"", nil]; 
    NSArray *bccRecipients=[[NSArray alloc]init];// = [NSArray arrayWithObject:@""];    
    [picker setToRecipients:toRecipients];
    [picker setCcRecipients:ccRecipients];  
    [picker setBccRecipients:bccRecipients];    
    [picker setMessageBody:@"Please send me  now." isHTML:YES];





    [appdelegate.navigationController presentModalViewController:picker animated:YES];
    [appdelegate.navigationController.navigationBar setHidden:NO];
    [picker release];
}

`

您应该使用:因为iOS 6中不推荐使用
presentModalViewController

[appdelegate.navigationController presentViewController:picker animated:YES completion:nil];
而不是

[appdelegate.navigationController presentModalViewController:picker animated:YES];
试试这个

 [self presentModalViewController:picker animated:YES];

我也遇到了同样的问题,这似乎是一个与特定的
UIAppearance
定制相关的bug。当我删除对
UISearchBar
背景图像的定制时,它就完全消失了。

我也遇到了同样的问题,但最终解决了它


关闭xcode并重新启动系统,它将正常工作。

在发生该错误后打开控制器邮件发送时?显示一些显示MFMailcomposer视图的代码。@neonsamuel它正在闪存中打开控制器,但没有执行任何操作dismisses@bugfinder请将应用程序运行到设备中,并检查它是否发生在我身上也是…我想这是iOS6的问题。我的(快速…)解决方案是打开mail.app而不是这个。如何删除它?dismismodalviewcontroller?我将部署目标用作ios5,然后我认为这不是问题所在?我非常确定这不是一个因素。使用presentViewController时,我会遇到相同的错误。(但仅在模拟器上。)对我来说,这是UIBarButtonItem上的tintColor。完全是随机的,绝对是一个奇怪的问题,现在在将应用程序构建到一个未启用Arm64的64位设备上时,这一问题一直在发生。我报告了一个雷达。这已经让我疯狂了大约4个小时。对我所有的
UIAppearance
customization莫名其妙的评论很明显,这不是一个长期的解决方案,但感谢你让我不疯狂。我还将提交一份雷达文件,以增加修复这个令人麻木的错误的压力。同样的错误也发生在我身上,Xcode 5.0.2和iOS 7上。UIAppearance为我打破它的是[[UIBarButtonItem外观]挫折ButtontitlePositionAdjustment:UIOffsetMake(0,-1000)forBarMetrics:UIBarMetricsDefault];我现在遇到了相同的错误,从我的AppDelegate中注释掉这一行使它消失:[[UILabel外观]setFont:…],所以它仍然存在。我设置了其他外观属性,这些属性似乎没有引起问题。另一件奇怪的事情是,我在许多不同的地方展示了MFMailComposer ViewController,而只有一个VC似乎出现了此错误。