如何使用“打开…”function的iOS应用程序?

我不想将我的应用程序添加到“打开在…”列表中,而是要获取列表本身。 并将文件发送到另一个应用程序。

我正在开发内部通信应用程序,所以当用户收到文件附件时,他/她可以用任何应用程序安装在每个设备上打开文件…

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

看看UIDocumentInteractionController https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDocumentInteractionController_class/Reference/Reference.html和这里https://developer.apple.com/library/ios/#documentation/ FileManagement /概念/ DocumentInteraction_TopicsForIOS /用品/ OpeningSupportedFileTypes.html#// apple_ref / DOC / UID / TP40010412-SW1

另外一个select :

使用iOS 6.0 >版本提供的UIActivityViewController

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

注意 :使用UIDocumentInteractionController可能有问题。 检查uidocumentinteractioncontroller-stopped-working-ios-8