_UIViewServiceInterfaceErrorDomain

14

我遇到了关于MFMailComposeViewController的问题。

我收到了以下错误信息:

viewServiceDidTerminateWithError: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "The operation couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)" UserInfo=... {Message=Service Connection Interrupted}

使用这段代码
- (IBAction) mailbutton:(id)sender 
{

    if([MFMailComposeViewController canSendMail]) 
    {

        [MSAPP.globalMailComposer setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
        [self presentViewController:MSAPP.globalMailComposer animated:YES completion:nil];

    } 
    else 
    {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                    message:@"Unable to mail. No email on this device?"
                                                   delegate:self
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
        [alert show];
        [MSAPP cycleTheGlobalMailComposer];
    }
}
1个回答

3

这是iOS 8模拟器已知的问题。请查看此帖子以获取可能的解决方法。

您必须在早期阶段分配和初始化MFMailComposeViewController,并将其保存在一个静态变量中。每当需要时,获取静态MFMailComposeViewController实例并呈现它。

并且您几乎肯定要在每次使用后“循环”全局MFMailComposeViewController。重用同一个不可靠。编写一个全局程序,释放然后重新初始化单例MFMailComposeViewController。每次完成后都调用它。

感谢Joe Blow的帖子。根据您的代码判断,您已经声明了全局邮件合成器。尝试像帖子中建议的那样“循环”它,以查看是否可以解决您的问题。我也遇到了同样的问题,不幸的是这个解决方案无法解决我的问题。我可以确认该解决方案适用于iOS 7.1模拟器,但不适用于iOS 8,尽管有人建议它适用于物理iOS 8设备。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接