Я использую платформу MessageUI для отправки и изображения по электронной почте после съемки фотографии с помощью UIImagePickerController.Когда я делаю фотографию и затем вызываю интерфейс почтового сообщения, я получаю окно создания.При тестировании на iPod touch (iOS 4.3.5) и iPad (iOS 5.0.1) я вижу прикрепленное изображение в теле окна создания.При тестировании на iPhone (4S iOS 5.0.1) изображение не появляется в окне создания, а напротив, я вижу прямоугольник размером с вложенное изображение со встроенной маленькой синей рамкой со знаком "?"в нем.
В обоих случаях при отправке почтового сообщения изображение появляется в сообщении, полученном в приложении Почта, - на устройствах iOS и Mac.
Что можно сделать, чтобы это исправить?
ОБНОВЛЕНИЕ: я обошел это, изменив:
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(imageToSend)]
на:
NSData *imageDataJPG = [NSData dataWithData:UIImageJPEGRepresentation(imageToSend, 1.0)];
Я не вижу в документах UIKit, что есть что-то вUIImagePNGRпредставление, которое не будет работать на iPhone ...
(Xcode 4.2.1, ARC, 5.0 SDK, развертывание цели 4.3)
Вот код для создания сообщения:
-(void)displayComposerSheet
{
MFMailComposeViewController *mailPicker = [[MFMailComposeViewController alloc] init];
mailPicker.mailComposeDelegate = self;</p>
<pre><code>[mailPicker setSubject:@"Photo"];
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(imageToSend)];
[mailPicker addAttachmentData:imageData mimeType:@"image/png" fileName:@"Photo"];
// Fill out the email body text.
NSString *line1 = [NSString stringWithFormat: @"I took this photo on my %@.\n", [[UIDevice currentDevice] model]];
NSString *body = [NSString stringWithFormat:@"%@", line1];
[mailPicker setMessageBody:body isHTML:NO];
// Present the mail composition interface.
[self presentModalViewController:mailPicker animated:YES];
}