2016-05-18 2 views
2

Я пытаюсь создать приложение, которое генерирует файл и заполняет все поля электронной почты, поэтому пользователю просто нужно войти в тело. Я также предоставляю пользователю возможность выбирать между родным приложением электронной почты iOS и приложением Microsoft Outlook (если оно установлено).
Когда я реализую это, чтобы подготовить электронное письмо для отправки в родном приложении электронной почты, я использовал фреймворк MessageUI, который упрощает прикрепление файла, но для приложения Outlook я должен использовать схему URL (ms-outlook://), и кажется, что нет простой способ (или способ вообще) прикреплять файлы.
Кто-нибудь успешно отправил вложение из другого приложения через приложение Outlook?Приложение схемы URL-адреса Приложение Microsoft Outlook

+0

Было ли доступно решение? –

+0

Пока нет. Я попросил команду команды, и они сказали мне, что они не поддерживают это в настоящий момент к несчастью. – tx2

+0

Мне удалось выяснить myslef. Должен ли я размещать решение здесь? –

ответ

0

Я отправляю этот ответ на основе «Что-то лучше, чем ничего». Я знаю, что невозможно отправить электронное письмо с предварительно прикрепленным файлом с помощью приложения iOS, поэтому мне удалось найти способ, по крайней мере, отправить файл изображения в электронном письме.

// Create an array of recipients for the email. 
NSArray* emailRecipients = @[@"[email protected]", @"[email protected]"]; 

// Create a mutable string to hold all of the recipient email addresses and add the first one. 
NSMutableString* emailTo = [[NSMutableString alloc] initWithString:emailRecipients[0]]; 

// Loop through all of the email recipients except for the first one. 
for (int index = 1; index < emailRecipients.count; index++) 
{ 
    // Add a semicolon and then the email address at the current index. 
    [emailTo appendFormat:@";%@", emailRecipients[index]]; 
} 

// Get the email subject from the subject text field. 
NSString *emailSubject = @"Your Email Subject"; 

// Encode the string for URL. 
NSString *encodedSubject = [emailSubject stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]; 

// Define your image's size 
NSString *htmlBody = (@"<div style=\"width:450px;height:797px;\"><img src=\"http://your_website.com/your_image.jpg\" style=\"width:100%;height:100%;\"></div>"); 

// Encode the string for URL. 
NSString* encodedBody = [htmlBody stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]; 

// See if the subject or body are empty. 
if (![emailSubject length] || ![emailBody length]) 
{ 
    // Exit. 
    return; 
} 

// Create a string with the URL scheme and email properties. 
NSString *stringURL = [NSString stringWithFormat:@"ms-outlook://compose?to=%@&subject=%@&body=%@", emailTo, encodedSubject, encodedBody]; 
// Convert the string to a URL. 
NSURL *url = [NSURL URLWithString:stringURL]; 
// Open the app that responds to the URL scheme (should be Outlook). 
[[UIApplication sharedApplication] openURL:url]; 

Это отправляет файл изображения, встроенный в тело электронной почты, легко. Возможно, вам придется настроить размер в соответствии с вашим изображением.

Смежные вопросы