Sur iOS 3.0 et les versions ultérieures, vous devez utiliser la fonction MFMailComposeViewController
et la classe MFMailComposeViewControllerDelegate
qui est caché dans le cadre de MessageUI.
Ajoutez d'abord le cadre et l'importation :
#import <MessageUI/MFMailComposeViewController.h>
Ensuite, pour envoyer un message :
MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"My Subject"];
[controller setMessageBody:@"Hello there." isHTML:NO];
if (controller) [self presentModalViewController:controller animated:YES];
[controller release];
Ensuite, l'utilisateur fait le travail et vous recevez le rappel du délégué à temps :
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result
error:(NSError*)error;
{
if (result == MFMailComposeResultSent) {
NSLog(@"It's away!");
}
[self dismissModalViewControllerAnimated:YES];
}
N'oubliez pas de vérifier si l'appareil est configuré pour l'envoi d'e-mails :
if ([MFMailComposeViewController canSendMail]) {
// Show the composer
} else {
// Handle the error
}