Я пытаюсь прикрепить изображение и pdf к электронному письму, используя платформу MessageUI. Я следовал примеру MailComposer в документации Apple.
На iPhone он работает идеально, изображение и файл PDF отображаются в теле окна отправки почты, как и ожидалось.
Однако, когда я получаю электронное письмо на моем MacBook, возникают две проблемы.
1) myImage.png отображается в виде вложения и имеет правильные размеры, но полностью пусто
2) myPDF.pdf вообще не отображается как вложение
Но, когда я получаю почту на моем iPhone, myImage.png обнаруживается нормально. myPDF.pdf по-прежнему не отображается в почте на моем iPhone.
Надеюсь, кто-то может пролить свет на то, что может происходить.
Вот соответствующий код:
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Test Email"];
// Attach an image to the email
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"myImage" ofType:@"png"];
NSData *imageData = [NSData dataWithContentsOfFile:imagePath];
[picker addAttachmentData:imageData mimeType:@"image/png" fileName:@"myImage"];
// Attach a PDF file to the email
NSString *pdfPath = [[NSBundle mainBundle] pathForResource:@"myPDF" ofType:@"pdf"];
NSData *pdfData = [NSData dataWithContentsOfFile:pdfPath];
[picker addAttachmentData:pdfData mimeType:@"application/pdf" fileName:@"myPDF"];
// Fill out the email body text
NSString *emailBody = @"This is a test.";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
[picker release];
РЕДАКТИРОВАТЬ Вместо того, чтобы сохранять и извлекать мое изображение и PDF в мой mainBundle, я использовал NSDocumentsDirectory и все работало нормально.