由于公司项目需求,目前需要实现下载PDF、word格式附件到本地,然后实现本地预览文件的功能,我在查询了资料后对这方面知识进行了扩展并整合,具体知识点如下:
- Bundle包的制作与使用
- PDF等文件缓存在沙盒(cache)
- UIDocumentInteractionController本地查看及第三方分享
-
QLPreviewController本地预览及网络预预览
Demo地址
Bundle包的定义
就是资源文件包。我们将许多图片、XIB、文本文件组织在一起,打包成一个Bundle文件,方便在其他项目中引用包内的资源
Bundle包的特点
Bundle是静态的,也就是说,我们包含到包中的资源文件作为一个资源包是不参加项目编译的。也就意味着,bundle包中不能包含可执行的文件。它仅仅是作为资源,被解析成为特定的2进制数据。
Bundle包的制作
1.新建项目
2.删除文件夹和info.plist
3.删除Build Settings->Packaging的info.plist的文件地址
4.Build Settings->Architectures的Base SDK设为iOS
5.在Products文件夹下添加需要添加的资源文件
6.Command+B编译,制作好的Bundle包就在文件夹中了
Command+B之后会在中间的视图面板看到资源文件
显示包内容也可以查看Bundle包里面的资源文件
Bundle包的使用
1.拖到项目中
2.调用
调用方法有很多种,这里只例举了一种
NSURL *urlPath = [[NSBundle mainBundle] URLForResource:@"swift学习" withExtension:@"pdf" subdirectory:@"BundleDemo.bundle"];
网友评论