2017-07-13 2 views
1

Je dois mettre à jour une application d'entreprise pour une utilisation sur les appareils iOS 64 bits exécutant iOS 11 beta 3. L'application compose un e-mail qui contient des données spécifiques, et l'utilisateur envoie l'e-mail au serveur, où il est traité pour extraire les données. (Je préférerais l'envoyer au serveur via TCP, mais ce n'était pas ma décision.)iOS 11 bêta: Mail View Controller appelé de l'application n'envoie pas de courrier

L'application est entièrement fonctionnelle en ce qu'elle compose le corps de l'e-mail avec les données spécifiques, l'adresse à la boîte e-mail du serveur et présentez la vue avec le bouton "Envoyer" en haut. Mais appuyer sur le bouton "Envoyer" ne fait rien. D'ailleurs, appuyer sur le bouton "Annuler" ne fait qu'appeler cette alerte pour vous assurer que vous voulez annuler, et avec l'une ou l'autre réponse, la vue d'email n'est pas ignorée.

Voici le courrier Compose Code:

NSString *strEmailAddress = [[NSUserDefaults standardUserDefaults] objectForKey:kEmailAddress]; 
NSArray *listOfRecipients = [[NSArray alloc] initWithObjects:strEmailAddress, nil]; 

MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
mailViewController.mailComposeDelegate = self; 
[mailViewController setSubject:@"Equipment Inventory"]; 
[mailViewController setMessageBody:totalArray isHTML:NO]; 
[mailViewController setToRecipients:listOfRecipients]; 
[self presentViewController:mailViewController animated:YES completion:nil]; 

C'est ce que j'ai utilisé dans la précédente version 32 bits de l'application, et il a bien fonctionné depuis plus de cinq ans.

Parce que j'ai affaire à des bêtas pour iOS et Xcode, comment puis-je savoir s'il s'agit d'un bogue dans le système d'exploitation ou dans le code? Aucune erreur ne s'affiche dans Xcode ou sur le téléphone.

Merci pour toute aide.

+0

Vérifiez le délégué de nouvelles fonctions – zombie

+0

@zombie, les seules modifications au délégué sont les méthodes que je me suis ajoutée pour les fonctionnalités de notification à distance. Y a-t-il une chance qu'ils interfèrent avec Mail Mail? –

+0

L'email est envoyé mais sans rejeter le contrôleur vérifier ma réponse pour le rejet – zombie

Répondre

1

Vous devez implémenter la méthode déléguée et fermer le contrôleur.

la méthode fournira une erreur si accord.

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(nullable NSError *)error { 

    [controller dismissViewControllerAnimated:true completion:nil]; 
} 
+0

Vous avez raison. Au début, je ne pensais pas que c'était le problème parce que je ne recevais pas l'email, mais j'ai découvert que mon programme de messagerie déplace le message dans le dossier indésirable. Et j'avais oublié que j'avais ça dans mon application originale. Sorta me fait sentir comme un idiot. Merci beaucoup! –