2013-06-25 2 views
1

저는 Xcode로 일하고 있습니다.전자 메일로 첨부 파일로 UID 문서를 보낼 수 있습니까?

내 응용 프로그램에서 나는 문서를 공유 할 수있는 방법을 찾고 있어요 해당 위치

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

에서 일부 UIdocuments을 저장, 나의 첫 번째 옵션은 이메일입니다.

이메일로 문서를 첨부 파일로 보낼 수 있습니까? 같은 앱으로 다른 기기를 열어도됩니까?

+0

내 코드를 사용해 보셨습니까? 건배. –

+0

던져 그 오류 ... 건축하는 ARMv7에 대한 정의되지 않은 심볼 : "_OBJC_CLASS _ $ _ MFMailComposeViewController"에서 참조 : DropsViewController.o LD에서 objc 수준의-REF : 건축하는 ARMv7 찾을 수 없습니다 기호 (들) 그 소리 : 오류 : 링커 명령이 종료 코드 1과 함께 실패했습니다 (호출을 보려면 -v 사용) –

+0

이 프레임 워크를 가져와야합니다. ** MessageUI.framework **라고합니다. 이 자습서의 3 단계를 따르십시오. http://mobile.tutsplus.com/tutorials/iphone/mfmailcomponentscontroller/ –

답변

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]; 

여기서 pdfDataNSData입니다. 따라서 문서를 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

특정 확장명으로 UIDocument를 하위 클래스로 만듭니다. 내 생각은 앱으로 메일을 보내 다른 기기에 보내서 여는 것입니다. @ "drp"와 같은 확장을 열기 위해 "open in"을 사용할 수 있습니까? –

+0

나는 somethig와 혼동 스럽다. 바보 같을 수있다. mailComposer는 무엇인가? –

+0

@ user2441567 이메일을 보내는 데 사용됩니다. –

0

첨부 파일을 보내려면 내용을 NSData 개체로 가져와야합니다. 문서가 디스크에 있으면 간단합니다. 문서의 경로 또는 파일 URL 만 있으면됩니다. 그런 다음 경로 또는 URL을 사용하여 NSData 개체를 만들 수 있습니다.

이메일 수신자가 동일한 앱을 가지고 있고이 유형의 문서에 대해 '열기'메뉴에 앱이 표시되도록 설정되어있는 경우 사용자는 첨부 파일에서 앱을 열 수 있습니다. 그런 다음 앱은이 유형의 파일을 열 것인지 묻는 메시지를 표시 할 때 수행 할 작업을 알 필요가 있습니다. 특정 파일 유형을 여는 앱을 등록하는 방법을 설명하는 많은 기존 문서 및 질문이 여기에 있습니다.