Problem bei der Verwendung von MFMailComposeViewController

Ich habe ein kniffliges Problem. In einer meiner Apps mit über 150.000 Downloads ... habe ich ein Problem, das selten auftritt und das ich nicht herauszufinden scheint.

Das Problem ist das Folgende: In einer Ansicht, in der der Benutzer eine Liste per E-Mail freigeben kann, öffne ich das E-Mail-Fenster mitMFMailComposeViewController. In einigen wenigen Fällen scheint die App jedoch ein Problem mit dem Mail Composer zu bekommen. Der Benutzer drückt die Share-Taste, das Mail-Fenster wird nach oben verschoben, wartet ca. 1-2 Sekunden und wird dann wieder geschlossen. Kein Inhalt im E-Mail-Fenster, obwohl ich Daten an das Fenster sende. Ich selbst konnte das Problem auf keinem Gerät oder im Simulator neu erstellen, wie auch immer ein Kollege es getan hat. Ich habe die App mit XCode auf seinem Handy ausgeführt und Folgendes in den Protokollen gefunden:

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.)"

Ich habe den Fehler "Wartezeit auf Zaunbarriere von com.apple.MailCompositionService abgelaufen" gegoogelt, kann aber keine wirkliche Hilfe finden.

Hat jemand Erfahrung damit? Wie kann ich das lösen?

Mein Code zum Öffnen der Ansicht:

-(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];
    }
}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage