Это своего рода рабочий код в моем приложении.
Файл (текстовый файл) находится в моем каталоге документов приложения
Убедитесь, что вы добавили MessageUIframework в свой проект
и импортируйте их в файл интерфейса
#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>
@interface Your CLass : UIViewController <MFMessageComposeViewControllerDelegate>
Код
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if ([mailClass canSendMail])
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Your Subject"];
NSFileManager* manager = [[NSFileManager alloc] init];
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
if (![[self NoteFile] isEqualToString:@""]) //check if note is blank
{
NSString *NoteFilePath = [documentsDirectory
stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.txt",[self NoteFileName]]];
NSData *myNoteData = [NSData dataWithContentsOfFile:NoteFilePath];
[picker addAttachmentData:myNoteData mimeType:@"text/plain" fileName:@"Name you want to give your file.txt"];
}
[manager release];
// Fill out the email body text
NSString *emailBody = @"I am attaching my file!";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
[picker release];
Вы можете дополнительно проверить статус почты, используя методы делегата
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error