2016-10-18 2 views
2

Fondamentalement, ce que je suis en train de faire est d'envoyer un e-mail:Envoi d'un email provoque - connexion interrompue

-(void) sendAnEmail { 

    if ([MFMailComposeViewController canSendMail]) 
    { 
     MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init]; 
     mail.mailComposeDelegate = self; 
     [mail setSubject:@"Subject"]; 
     [mail setMessageBody:@"Hey, check this out!" isHTML:NO]; 
     [mail setToRecipients:@[@"[email protected]"]]; 

     [self presentViewController:mail animated:YES completion:NULL]; 
    } 
    else 
    { 
     NSLog(@"device cannot send email"); 
    } 
} 

Il n'y a pas d'erreur, pas d'avertissement. La sortie si ce vide est:

BSXPCMessage reçu erreur pour un message: Connexion interrompue

Comment puis-je résoudre ce problème?

dispositif de test - 5S (8,3)

+0

Est-ce code fait s'appeler? – alexburtnik

+0

Avez-vous des manipulations avec CIFilter quelque part? – alexburtnik

+0

bien que j'essayais d'envoyer un email avec pièce jointe, le même problème est survenu alors j'essaie avec quelque chose de simple, c'est le code réel –

Répondre

1
  1. De this Apple Guide je peux comprendre que les services de XPC sont censés empêcher les applications de se briser en séparant les composants instables en quelque sorte.

  2. Le plantage lui-même est causé par une sorte de bogue dans CIFilter. Il est difficile de dire ce qui ne va pas avec votre code, puisque le problème n'est évidemment pas MFMailComposeViewController. Si vous créez CIContext avec des options comme celle-ci:

[CIContext contextWithOptions: @{kCIContextUseSoftwareRenderer : @(NO)}]; 

Essayez de remplacer NO avec YES