Отправка электронной почты с html-тегом через [UIApplication sharedApplication] на iPhone

#iphone #email #uiapplication

#iPhone #Адрес электронной почты #uiapplication

Вопрос:

Я пытаюсь отправить электронное письмо с кодом для встраивания (фрагмент html), но текст электронного письма пуст.

         NSURL *url = [NSURL URLWithString: me.emailUrl];
        [[UIApplication sharedApplication] openURL:url];

        NSLog(@"SnapShotViewController->infoAction: %@", url);
  

Исходная строка выглядит следующим образом.

<iframe style=’ширина: 320 пикселей; высота: 320 пикселей; граница: 0 пикселей’ src=’http://snapserve.alphakanal.de/embed?key=b500bb47-e14d-405f-a70b-9779dbb8ce21 ‘>

Конечная строка выглядит следующим образом.

mailto:?subject=SnapShotamp;body=

Приложение электронной почты открывается, но не показывает тело. Есть идея?

Ответ №1:

Используйте - (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding в вашей NSString, содержащей HTML, вот так:

 NSString *html = @"<html><body><b>test</b></body></html>";
NSString *email = [NSString stringWithFormat:@"mailto:?subject=SnapShotamp;body=%@",[html stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]];
  

Комментарии:

1. Это именно то, что я делаю. Смотрите последнюю строку в моем первом сообщении. Это результат stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding. Но электронное письмо по-прежнему пустое.

2. Что ж, snapserve.alphakanal.de /… пусто. Итак, чего именно вы ожидаете?

3. Оно не пустое. Он возвращает действительную HTML-страницу. Но это не то, что я хотел показать в электронном письме. Пользователь должен видеть фактический тег <iframe> в виде текста, чтобы иметь возможность скопировать его на свой веб-сайт;