ios中通过UIDocumentInteractionControllers调用第三方应用打开本地压缩文件

来源:互联网 发布:可以领淘宝优惠券的群 编辑:程序博客网 时间:2024/05/22 01:38

安卓中可以通过intent意图调用第三方程序,在ios中,也可以通过UIDocumentInteractionControllers调用第三方应用打开沙盒内文件。

使用方法也十分简单,主要通过以下两步。

1.实现UIDocumentInteractionControllerDelegate代理,重写代理方法。

首先在h文件中,添加UIDocumentInteractionControllerDelegate代理,然后在m文件中实现必要的代理方法。主要实现一下方法,其他方法看看应该知道啥意思了。

#pragma mark - UIDocumentInteractionControllerDelegate

- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)interactionController

{

    returnself;

}

2.弹出预览或分享对话框。

这里可以写一个方法,弹出预览页面或分享对话框

-(void)openDocument:(NSString*)myFilePath{

    NSURL *url = [NSURLfileURLWithPath:myFilePath];//需要打开的文件url

   UIDocumentInteractionController *docController = [UIDocumentInteractionControllerinteractionControllerWithURL:url];

     docController.delegate =self;

docController.UTI =@"com.pkware.zip-archive"//文件类型是压缩文件

//弹出预览画面

//    [docController presentPreviewAnimated:YES];  

//弹出分享对话框

    CGRect navRect = self.navigationController.navigationBar.frame;

    navRect.size =CGSizeMake(self.view.width,40.0f);

    [self.docControllerpresentOptionsMenuFromRect:navRectinView:self.view animated:YES]; 

}

其中,docController.UTI 的值可以参考苹果官方说明:

https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html

调用这个方法,结果是这样子的。因为模拟器里没装应用,所以只能看到一个选项mail。

弹框






预览画面



0 0
原创粉丝点击