iOS解压rar 及 zip文件

公司需求,要在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文件夹

iOS解压rar 及 zip文件_第1张图片
拷贝第三方库文件夹

再拷贝改工程中的SARUnArchiveANY.h + SARUnArchiveANY.m 文件到你的工程中。

至此你的工程中应该有如下文件:

iOS解压rar 及 zip文件_第2张图片
工程里需要的文件

2、此时你Build就会报如下错误:

iOS解压rar 及 zip文件_第3张图片
报错

是因为刚刚我们没有添加Unrar文件夹,于是把出错的这样改成

#include


3、再Build,就会报另一个错误:

Unrar4iOS库需要更新

为什么?因为Unrar4iOS需要重新打包下,从这里下载,然后替换Frameworks里的Unrar4iOS.framework。

iOS解压rar 及 zip文件_第4张图片
替换Unrar4iOS


4、再Build,又报错:

iOS解压rar 及 zip文件_第5张图片

莫急,最后一步了,在TARGETS - Build Setting - Other Linker Flags里添加 -lc++

iOS解压rar 及 zip文件_第6张图片
添加 -lc++

再Build,OK了吧~~


5、使用。在刚刚下载的SARUnArchiveANY工程及其Github页面里都有使用说明,在此不再赘述了。

你可能感兴趣的:(iOS解压rar 及 zip文件)