公司需求,要在App中解压zip和rar文件,zip解压我之前做过,用的是第三方库,所以以为解压rar会一样容易,没想到解压rar的库比较少,花费了一两天才搞定。
首先介绍一个第三方库SARUnArchiveANY,他可以支持解压rar(Unrar4iOS库)、zip(SSZipArchive库 )、7z(LZMA库)文件。那么你要问了,那我就用这个库,还废话什么。。
但是之前说过了解压rar的库比较少,查了很久只查到一个Unrar4iOS,但是很久没有维护更新了,Xcode 9加进去是有问题的,废了一番功夫还是找到了一个支持Xcode 9的Unrar4iOS库。
1、下载 SARUnArchiveANY 工程,拷贝项目中文件夹vendor中的Frameworks、LZMASDK、ZipArchive文件夹,不需要拷贝Unrar文件夹。
拷贝第三方库文件夹再拷贝改工程中的SARUnArchiveANY.h + SARUnArchiveANY.m 文件到你的工程中。
至此你的工程中应该有如下文件:
工程里需要的文件2、此时你Build就会报如下错误:
报错是因为刚刚我们没有添加Unrar文件夹,于是把出错的这样改成
#include <Unrar4iOS/Unrar4IOS.h>
3、再Build,就会报另一个错误:
Unrar4iOS库需要更新为什么?因为Unrar4iOS需要重新打包下,从这里下载,然后替换Frameworks里的Unrar4iOS.framework。
替换Unrar4iOS4、再Build,又报错:
莫急,最后一步了,在TARGETS - Build Setting - Other Linker Flags里添加 -lc++
添加 -lc++再Build,OK了吧~~
5、使用。在刚刚下载的SARUnArchiveANY工程及其Github页面里都有使用说明,在此不再赘述了。
网友评论
#include <Unrar4iOS/Unrar4IOS.h>