Ссылки внутри тела письма - PullRequest
3 голосов
/ 07 февраля 2012

Мне нужно изменить существующий проект. В этом проекте есть несколько (много) мест, где приложение отправляет электронное письмо с заданным текстом. Используемая функция

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:emailString]];

Который явно открывает iOS Mail, готовый к отправке сообщения. Теперь мне нужно включить ссылки в текст сообщения. Возможно ли это сделать без переключения на MFMailComposeViewController во всех этих местах? Как?

Ответы [ 2 ]

4 голосов
/ 30 июня 2012

это очень просто.Каждый HTML-тег должен быть добавлен, используйте косую черту перед двойной кавычкой в ​​начале и конце URL-адреса
Пример:

    NSString *bodyText =@"<html>";
    bodyText = [bodyText stringByAppendingString:@"<head>"];
    bodyText = [bodyText stringByAppendingString:@"</head>"];            
    bodyText = [bodyText stringByAppendingString:@"<body>"];
    bodyText = [bodyText stringByAppendingString:@"<a     href=\"http://www.devaski.com\">My blog"];
    bodyText = [bodyText stringByAppendingString:@"</a>"];
    [mailComposer setMessageBody:bodyText isHTML:YES];
0 голосов
/ 07 февраля 2012

Посмотрите на этот документ - https://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Articles/MailLinks.html#//apple_ref/doc/uid/TP40007892-SW1

Краткий ответ: да, вы можете предварительно заполнить текст сообщения, добавив параметр body к URL-адресу (т.е. mailto:john@apple.com?body=This%20goes%20to%20body). Обратите внимание, что строка должна быть правильно экранирована, что вы можете легко сделать с помощью команды NSString stringByAddingPercentEscapesUsingEncoding:

.

Я предполагаю, что любой URL в теле, который выглядит как URL, будет преобразован в ссылку самим приложением Mail - не уверен насчет этого, протестируйте его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...