2013-06-25 2 views
1

Я работаю с Xcode.Могу ли я отправить UID документы по электронной почте в качестве вложения?

В моем приложении я сохранить некоторые UIdocuments в этом месте

[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]; 

Я ищу способ обмена документами, мой первый вариант по электронной почте.

Могу ли я отправить эти документы по электронной почте в качестве приложения? Могу ли я открыть его с помощью другого устройства с тем же приложением?

+0

Вы попробовали мой код? Приветствия. –

+0

бросок, что ошибка ... Неопределенные символы для архитектуры ARMv7: "_OBJC_CLASS _ $ _ MFMailComposeViewController", ссылочные из: ObjC-класса исх в DropsViewController.o LD: Символ (ы) не найдено для архитектуры ARMv7 лязг: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v для вызова вызова) –

+0

Вам необходимо импортировать фреймворк для этого. Он называется ** MessageUI.framework **. Следуйте шагу 3 в этом уроке. http://mobile.tutsplus.com/tutorials/iphone/mfmailcomposeviewcontroller/ –

ответ

2

Вы могли бы сделать следующее.

Создайте MFMailComposeViewController и используйте способ - (void)addAttachmentData:(NSData*)attachment mimeType:(NSString*)mimeType fileName:(NSString*)filename, чтобы добавить ваше приложение.

Например.

MFMailComposeViewController *mailVC = [[MFMailComposeViewController alloc] init]; 
[mailVC setSubject:@"Shared documents"]; 
[mailVC setToRecipients:@[@"[email protected]"]]; 
[mailVC setMessageBody:@"Here the docs I want to share" isHTML:NO]; 
[mailComposer addAttachmentData:pdfData mimeType:@"application/pdf" fileName:@"file.pdf"]; 

[mailVC setMailComposeDelegate:self]; 

[self presentViewController:mailVC animated:YES completion:nil]; 

где pdfData имеет тип NSData. Итак, вам нужно преобразовать свой документ в NSData.

От Apple doc.

addAttachmentData:mimeType:fileName: 

This method attaches the specified data after the message body but before the user’s signature. You may attach multiple files (using different file names) but must do so prior to displaying the mail composition interface. Do not call this method after presenting the interface to the user.

О второй части вашего вопроса. Не могли бы вы объяснить, какой тип документа вам нужно отображать?

В то же время взгляните на Adding "Open In..." option to iOS app.

+0

I подкласс UIDocument, с определенным расширением. Моя идея отправить его по почте на другое устройство с приложением и открыть его. Могу ли я использовать «open in» для открытия любого расширения, например, «drp»? –

+0

Я путаюсь с somethig, может быть глупо, Что такое mailComposer? –

+0

@ user2441567 Он используется для отправки писем. –

0

Чтобы отправить любое приложение, необходимо загрузить его в объект NSData. Если документ находится на диске, это просто. Вам просто нужен URL-адрес пути или файла для документа. Затем вы можете создать объект NSData, используя путь или URL-адрес.

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

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