2012-03-01 4 views
7

"open ..."목록에 내 앱을 추가하는 것이 아니라 목록 자체를 얻으려고합니다. 파일을 다른 앱으로 보냅니다. 나는 내부 통신 응용 프로그램에서 일하고 있어요, 그래서 사용자가 첨부 파일을받을 때, S/그는 각 장치에 설치되어있는 어떤 응용 프로그램을 사용하여 파일을 열 수 있습니다iOS 앱에 "open in ..."기능을 사용하는 방법은 무엇입니까?

...

답변

11
UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:appFile]]; 
     self.controller.delegate = self; 
CGRect navRect = self.view.frame; 
[self.controller presentOptionsMenuFromRect:navRect inView:self.view animated:YES]; 

UIDocumentInteractionControllerDelegate 다음과 같은 방법 구현

#pragma mark - UIDocumentInteractionControllerDelegate 

//=================================================================== 
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller 
{ 
    return self; 
} 

- (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller 
{ 
    return self.view; 
} 

- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller 
{ 
    return self.view.frame; 
} 
0

또 다른 옵션 : iOS 6.0 > 버전

//create instance with file URL 
UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[fileURLHere] applicationActivities:nil]; 
//present it 
[self presentViewController:activity animated:YES completion:NULL]; 

에서 제공 등

사용 UIActivityViewController는 : UIDocumentInteractionController을 사용하여 문제가있을 수 있습니다. 확인 uidocumentinteractioncontroller-stopped-working-ios-8

관련 문제