【从简】秒懂iOS文件分享

在我看来,iOS的文件分享可分为两种:

1 在你的应用对某个文档如PDF提供可以选择第三方应用的列表来打开该文件功能

2 让自己应用有能力出现在别人应用的文件打开选择列表里

现在分开介绍这两种功能对于你的应用来说需要如何设置:

第一种只需要调用系统的UIDocumentInteractionController就OK了:

-(void)openDocumentIn {

NSString * filePath = [[NSBundle mainBundle] pathForResource:@"Courses for Q2 2011" ofType:@"pdf"];

UIDocumentInteractionController *documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filePath]];

documentController.delegate = self;

[documentController retain];

documentController.UTI = @"com.adobe.pdf";//You need to set the UTI (Uniform Type Identifiers) for the documentController object so that it can help the system find the appropriate application to open your document. In this case, it is set to “com.adobe.pdf”, which represents a PDF document. Other common UTIs are "com.apple.quicktime-movie" (QuickTime movies), "public.html" (HTML documents), and "public.jpeg" (JPEG files)

[documentController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];

}


第二种即共享文件 导入导出 导入的文件夹放在Document下面的Inbox文件夹里

1 UIFileSharingEnabled 设置为YES

并设置如下的格式告诉系统你能处理这个类型的文件

2 设置info.plist里添加可以读取PDF功能 如图所示

3 当第三方应用选择你的程序后,回自动触发– application:openURL:sourceApplication:annotation:. 你要做的就是在该方法里实现打开这个PDF即可:

NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

[webView setUserInteractionEnabled:YES];

[webView loadRequest:requestObj];这样就可以打开来自其它应用让你处理的文件了如PDF文件

NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

[webView setUserInteractionEnabled:YES];

[webView loadRequest:requestObj];这样就可以打开来自其它应用让你处理的文件了如PDF

4 但如果你要打开自定义的文件格式则需要告诉系统你的自定义格式 UIExportedTypeDeclarations 并新增一个item 可能你会问为什么PDF不用设置这个,因为系统已经默认支持PDF所以不用在设置一个PDF对应的UIExportedTypeDeclaration。那你依然如图所示添加就OK了。是不是会很简单。

Over,希望能帮到你!


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,721评论 2 7
  • IOS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、...
    学无止境666阅读 45,907评论 5 53
  • OS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、速...
    知之未道阅读 1,668评论 0 4
  • 最近应用中有个需求,是关于文件的导入和导出的。在网上找了找,并没有合适的资料以参考学习。索性自己写一篇,以供记录和...
    你说明哥我说哎阅读 15,700评论 2 14
  • iOS UWebView详解 - ctaodrea 时间2013-09-06 17:52:00博客园精华区 原文h...
    翘楚iOS9阅读 698评论 0 3