Проблема при использовании MFMailComposeViewController
У меня есть каверзная проблема. В одном из моих приложений с более чем 150 000 загрузок ... У меня есть проблема, которая редко возникает и которую я могу 'Кажется, не могу понять.
Проблема заключается в следующем: в представлении, где пользователь может поделиться списком по электронной почте, я открываю окно почты, используяMFMailComposeViewController
, Однако в некоторых случаях приложение, похоже, сталкивается с проблемой использования почтового компоновщика. Пользователь нажимает кнопку «Поделиться», почтовые окна открываются, ждут около 1-2 секунд, а затем снова закрываются. В почтовом окне нет содержимого, хотя я отправляю в него данные. Я сам не смог воссоздать проблему ни на одном устройстве, ни в симуляторе, однако один коллега это сделал. Я запустил приложение с помощью XCode на его телефоне и получил следующее в журналах:
2013-03-01 14:43:39.604 appname[318:907] 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];
}
}