Ho un problema complesso. In una delle mie app, con oltre 150.000 download ... Ho un problema che si verifica raramente e che non riesco a capire.Problema quando si utilizza MFMailComposeViewController
Il problema è il seguente: In una vista in cui l'utente può condividere un elenco tramite e-mail, apro la finestra di posta utilizzando MFMailComposeViewController
. Tuttavia, in alcuni casi l'applicazione sembra avere problemi nell'utilizzo del compositore di posta. L'utente preme il pulsante di condivisione, le finestre di posta si aprono, attende circa 1-2 secondi e poi si richiude nuovamente. Nessun contenuto nella finestra di posta, anche se invio dati ad esso. Io stesso non sono stato in grado di ricreare il problema su alcun dispositivo o nel simulatore, tuttavia un collega lo ha. Ho eseguito l'applicazione utilizzando XCode sul suo telefono e ottenuto il seguente nei registri:
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.)"
Googled l'errore "Timeout durante l'attesa per la barriera di recinzione da com.apple.MailCompositionService", ma non può davvero trovare qualsiasi Aiuto.
Qualcuno ha qualche esperienza con questo? Come posso risolverlo?
Il mio codice per l'apertura della vista:
-(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];
}
}
Ehi, sto sperimentando lo stesso identico problema che descrivi. Un amico ha questo problema su un iPhone 4 ma non riesco a riprodurlo su un iPod touch di quarta generazione, 3GS, 4S o 5. Ho pensato che forse era dovuto alla dimensione dell'allegato, quindi ho anche provato a comprarlo (era un CSV) , ma nessuna differenza. – Ants
Sperimentare esattamente lo stesso problema, novembre 2013. Grazie a Dio, la soluzione funziona ** usa un MFMailComposeViewController globale e usalo solo ** .. allora sei d'oro. Domanda identica qui http: // StackOverflow.it/questions/13298448/ios6-mfmailcomposeviewcontroller-slow-to-load-and-flashes-black-screen-mailcom – Fattie
Sto vivendo lo stesso identico problema. Su iOS 6 il compositore si apre e poi si chiude, su iOS 7 funziona ma non risponde per un paio di secondi. Sembra un bug di sincronizzazione di Apple. Quando si presenta MFMailComposeViewController nel blocco dispatch_after (con un ritardo minimo, ad esempio, 0,1 sec) non fallisce ed è pronto per l'interazione dell'utente quasi istantaneamente. –