Xcode: отправка снимка экрана MKmapView во вложение электронной почты - PullRequest
1 голос
/ 06 августа 2011

Я использую Xcode 4 Beta для отображения местоположения пользователя на карте, которая работает нормально. затем я делаю снимок экрана с картой и отображаю ее в виде вложения в электронном письме (код ниже прикрепляет снимок экрана карты к электронному письму, но отправленное изображение - только серые линии сетки)

Не могли бы вы помочь, это ограничение на Google? Или есть альтернативный способ сделать это

p.s Я попытался сделать скриншот карты вручную, это сработало на моем iphone 4.

- (IBAction) buttonPress: (id) отправитель {

UIGraphicsBeginImageContext(mapView.frame.size);
[mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSData * imageData = UIImageJPEGRepresentation(image,2.0);


if 
   ( [MFMailComposeViewController canSendMail] ) {
   MFMailComposeViewController * mailComposer = [[MFMailComposeViewController alloc] init];
    mailComposer.delegate = self;
   [mailComposer addAttachmentData:imageData mimeType:@"image/png" fileName:@"attachment.jpng"];

    /* Configure other settings */
        [mailComposer setSubject:@"subject here"];
       [mailComposer setToRecipients:[NSArray arrayWithObjects:@"123@abc.com", nil]];


    [self presentModalViewController:mailComposer animated:YES];
           }

}


Я поэкспериментировал с кодом, который, в конце концов, заставил его работать, но другая проблема, с которой я сталкиваюсь, - это электронное письмо, отказывающееся от отправки, и оно помещается в мой ящик для неотправленных сообщений в моей электронной почте. Учетная запись hotmail выдает мне сообщение об ошибке, в котором говорится: «Копия была помещена в ваш почтовый ящик. Не удалось отправить содержимое сообщения на сервер»

МОЖЕТЕ ЛИ ВЫ ПОМОЧЬ

МОЖЕТ ЛИ ЭТО БЫТЬ ИЗ-ЗА КОПИРОВАНИЯ ПРАВА НА ПРАВИЛА С КАРТОЙ GOOGLE? ИЛИ ОШИБКА С КОДОМ

1 Ответ

1 голос
/ 30 апреля 2012

Насколько я знаю, вы должны использовать NUIImagePNGRepresentation() вместо UIImageJPEGRepresentation(image,2.0);, потому что скриншоты - это PNG.

Кроме этого, я не знаю, что может быть не так с вашим кодом.

...