2012-03-01 25 views
7

私は自分のアプリを "open in ..."リストに追加するのではなく、リスト自体を取得するつもりです。ファイルを別のアプリに送信する。私は内部通信アプリに取り組んでいますので、ユーザーが添付ファイルを受信したときに、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

別のオプション:UIDocumentInteractionControllerを使用して問題がある可能性があります: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-stopped-working-ios-8

関連する問題