[Résolu] - Problème lors de l'appel à MFMailComposeViewController
walslayer
Membre
Bonjour à tous, je viens de nouveau voir consulter car j'essaye d'intégrer l'application mail dans ma propre application pour ainsi éviter de quitter celle-ci. J'ai suivi la documentation d'Apple qui permet de faire appel à MFMaimComposeViewController. J'ai bien définit mon header et mon main, le problème est que lorsque je clique sur le bouton afin d'ouvrir la vue, j'obtient une vue noire avec la barre de statut du mail (sans les boutons cancel et send). J'ai bien ajouté le Framework MessageUI. Je ne comprend donc pas d'ou vient l'erreur. Si vous avez une idée, voici le code que j'utilise :
Le fchier .h
Le fichier .m
Je vous remercie par avant pour vos réponse.
Bien cordialement Walslayer.
Le fchier .h
<br />
#import <MessageUI/MessageUI.h><br />
@interface mailComposerViewController : UIViewController <MFMailComposeViewControllerDelegate><br />
{<br />
IBOutlet UILabel *message;<br />
}<br />
@property (nonatomic, retain) IBOutlet UILabel *message;<br />
-(IBAction)sendMail;<br />
@end<br />
Le fichier .m
<br />
#import "mailComposerViewController.h"<br />
@implementation mailComposerViewController<br />
@synthesize message;<br />
-(IBAction)sendMail<br />
{<br />
if ([MFMailComposeViewController canSendMail]) {<br />
MFMailComposeViewController *mfViewController = [[MFMailComposeViewController alloc] init];<br />
mfViewController.mailComposeDelegate = self;<br />
<br />
[self presentModalViewController:mfViewController animated:YES];<br />
}else {<br />
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Status:" message:@"Your phone is not currently configured to send mail." delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];<br />
<br />
[alert show];<br />
}<br />
}<br />
#pragma mark MFMailComposeViewControllerDelegate Methods<br />
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error<br />
{<br />
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Status:" message:@"" delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];<br />
<br />
switch (result) {<br />
case MFMailComposeResultCancelled:<br />
alert.message = @"Message Canceled";<br />
break;<br />
case MFMailComposeResultSaved:<br />
alert.message = @"Message Saved";<br />
break;<br />
case MFMailComposeResultSent:<br />
alert.message = @"Message Sent";<br />
break;<br />
case MFMailComposeResultFailed:<br />
alert.message = @"Message Failed";<br />
break;<br />
default:<br />
alert.message = @"Message Not Sent";<br />
break;<br />
}<br />
<br />
[self dismissModalViewControllerAnimated:YES];<br />
<br />
[alert show];<br />
}<br />
@end<br />
Je vous remercie par avant pour vos réponse.
Bien cordialement Walslayer.
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
(Le seul truc, à la limite, c'est qu'il est déconseillé sous iOS 6 d'utiliser presentModalViewController:)
Par contre je n'ai pas trop compris l'utilité de completion, du coup je l'ai mis à nil.
Par contre je me suis rendu compte que j'avais créer une vue avec le storyboard et que j'essayais d'associer cette vue à mon controlleur. Alors qu'au même moment dans mon controlleur je faisait un alloc. J'ai supprimé l'association entre ma vue et mon controlleur et j'obtient donc ce que je voulais. Par contre je vois que je ne récupère pas le sujet et le message dans ma vue mail. Je récupère des infos bizarre (comme si mes variable n'étaient pas initialisées..).
Voici mon fichier .h
Et mon fichier .m
Merci de votre attention /clap.gif' class='bbc_emoticon' alt=' ' />