就在今天,終於把兩種主流的壓縮格式給搞定了..
途中真的碰到不少坎坷,百度Google了無數篇,不過還是要謝謝網上的牛人啊..
在此,做一些記錄,以及貢獻一些資源. 給那些需要在IOS下 需要進行解壓相關需求的孩紙一些協助.
在開始之前,先列舉一下對我有協助的連結.謝謝這些博主了!
1:rar解壓縮的原始碼出處:
https://github.com/ararog/Unrar4iOS
2:這個幫我解決了rar解壓縮無法組建目錄功能缺失以及亂碼問題:
http://stackoverflow.com/questions/7785659/is-there-an-unrar-library-out-there-for-ios
3:zip解壓縮的原始碼出處:
http://code.google.com/p/ziparchive/
4:zip解壓縮教程
http://blog.sina.com.cn/s/blog_833996210100udkl.html
針對這兩種主流格式我專門製作了一個Demo 並對解壓縮的原始碼都進行了修改,保證了無BUG..
本Demo示範了Zip和Rar 解壓縮的效果,我把他們都解壓到了Documents目錄裡面. 點擊按鈕後你們可以自己去Documents目錄裡面查看解壓的結果.
並且,Zip和Rar 的壓縮原始碼 我都已經打包成了framework以供日後使用方便.
那麼在樣本中,我也是直接使用framework來實現壓縮的相關功能.(framework的製作請點擊此處)
具體效果還是下載 Demo 以後自己多去嘗試嘗試吧!
Demo:猛擊此處.
以下有一點需要注意:
1:在使用Zip 的framework時 需要為我們的工程先引入一個 libz.dylib 檔案. 不然編譯時間無法通過.(很蛋疼~,具體為什麼不知道. 你知道的話在評論解釋一下,謝謝了)
2:保證你的整個工程是以C++混編模式進行編譯
3:Rar 的framework 無需引入檔案,匯入架構後,可以直接使用.
最後展示一下Demo的:
Date:2012-09-26 16:27
iPhone 5 搭載 A6處理器, 使用了Armv7s 模式編譯,.
那麼我之前提供的解壓縮Demo 不支援Armv7s 所以會導致XCode 調試時無法燒進真機.
兩種解決辦法:
1:刪除對工程對Armv7s 的編譯支援.操作如:
2:重新編譯不支援Armv7s的Framework. 以來支援A6處理器.
在重新編譯rar架構 時,要特別, 目錄鏈中的檔案夾名稱不能有空格,否則會編譯失敗,這估計是XCode 的BUG.
那麼在此呢,我上傳我重新編譯後的壓縮Demo