【发布时间】:2013-03-01 13:54:14
【问题描述】:
我有一个棘手的问题。在我的一个应用程序中,下载量超过 150.000...我遇到了一个很少发生的问题,我似乎无法弄清楚。
问题如下:
在用户可以通过电子邮件共享列表的视图中,我使用MFMailComposeViewController 打开邮件窗口。但是,在某些情况下,该应用程序似乎在使用邮件编辑器时遇到了问题。用户按下共享按钮,邮件窗口向上滑动,等待大约 1-2 秒,然后再次关闭。邮件窗口中没有内容,尽管我确实向它发送了数据。
我自己无法在任何设备或模拟器中重新创建问题,但一位同事却有。
我在他的手机上使用 XCode 运行了该应用程序,并在日志中得到了以下信息:
2013-03-01 14:43:39.604 appname[318:907] <MFMailComposeRemoteViewController: 0x1ebfb100> timed out waiting for fence barrier from com.apple.MailCompositionService
2013-03-01 14:43:39.631 appname[318:907] viewServiceDidTerminateWithError: Error Domain=XPCObjectsErrorDomain Code=2 "The operation couldn’t be completed. (XPCObjectsErrorDomain error 2.)"
我用谷歌搜索了错误“等待来自 com.apple.MailCompositionService 的栅栏屏障超时”,但找不到任何帮助。
有人有这方面的经验吗?我该如何解决?
我打开视图的代码:
-(void)displayComposerSheetWithBodyString:(NSString *)aBody
{
if ([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc]init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Lista"];
NSString *emailBody = aBody;
[picker setMessageBody:emailBody isHTML:NO];
[self.navigationController presentModalViewController:picker animated:YES];
}
else
{
[[[UIAlertView alloc]initWithTitle:NSLocalizedString(@"Din enhet är inte redo att skicka e-post. Kontrollera dina inställningar", nil)
message:nil
delegate:self
cancelButtonTitle:NSLocalizedString(@"OK", nil)
otherButtonTitles:nil]
show];
}
}
【问题讨论】:
-
嘿,我遇到了与您描述的完全相同的问题。一个朋友在 iPhone 4 上遇到了这个问题,但我无法在 iPod touch 第 4 代、3GS、4S 或 5 上重现它。我想可能是由于附件的大小,所以也尝试压缩它(是 csv) ,但没有区别。
-
在 2013 年 11 月遇到完全相同的问题。谢天谢地,解决方法有效使用一个全局 MFMailComposeViewController 并且只使用它 ..那么你就是黄金。这里有相同的问题stackoverflow.com/questions/13298448/…
-
我遇到了完全相同的问题。在 iOS 6 上,作曲家打开然后关闭,在 iOS 7 上它可以工作,但几秒钟内没有响应。看起来像Apple的同步错误。在 dispatch_after 块中呈现 MFMailComposeViewController 时(延迟最小,例如 0.1 秒),它不会失败并且几乎可以立即为用户交互做好准备。
标签: ios objective-c mfmailcomposeviewcontroller mfmailcomposer