公司需求,要在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需要重新打包下革为,從這里下載,然后替換Frameworks里的Unrar4iOS.framework舵鳞。
4震檩、再Build,又報錯:
莫急,最后一步了抛虏,在TARGETS - Build Setting - Other Linker Flags里添加?-lc++
再Build博其,OK了吧~~
5、使用迂猴。在剛剛下載的SARUnArchiveANY工程及其Github頁面里都有使用說明慕淡,在此不再贅述了。