iOS 下实现解压缩

简介: 就在今天,终于把两种主流的压缩格式给搞定了..  途中真的碰到不少坎坷,百度谷歌了无数篇,不过还是要谢谢网上的牛人啊.. 在此,做一些记录,以及贡献一些资源.

就在今天,终于把两种主流的压缩格式给搞定了.. 

途中真的碰到不少坎坷,百度谷歌了无数篇,不过还是要谢谢网上的牛人啊..

在此,做一些记录,以及贡献一些资源. 给那些需要在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

目录
相关文章
|
安全 数据安全/隐私保护 iOS开发
iOS小技能:【发红包】使用tweak和lua脚本结合进行实现
我们开发的大部分越狱程序,都是编译成动态链接库(`例如:介绍的越狱程序(Tweak)开发,就是动态链接库。`),然后通过越狱平台的MobileSubstrate(iOS7上叫CydiaSubstrate)来加载进入目标程序(Target),通过对目标程序的挂钩(Hook),来实现相应的功能。
347 0
|
iOS开发
iOS布局中的抗被拉伸、抗压缩优先级
iOS布局中的抗被拉伸、抗压缩优先级
737 0
|
iOS开发
iOS App廋身体积压缩之字体图标使用
iOS App廋身体积压缩之字体图标使用
iOS App廋身体积压缩之字体图标使用
|
Android开发 iOS开发
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
428 0
iOS开发 - 商品详情页两种分页模式,只提供思路和实现方式。
|
存储 安全 iOS开发
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
486 0
iOS开发 - 继udid,Mac地址等一系列唯一标识无效后,如何用KeyChain来实现设备唯一性
|
Swift 数据安全/隐私保护 iOS开发
iOS开发 - swift通过Alamofire实现https通信
iOS开发 - swift通过Alamofire实现https通信
448 0
iOS开发 - swift通过Alamofire实现https通信
|
开发者 iOS开发
iOS开发 - 用AFNetworking实现https单向验证,双向验证
iOS开发 - 用AFNetworking实现https单向验证,双向验证
449 0
iOS开发 - 用AFNetworking实现https单向验证,双向验证
|
iOS开发
iOS小技能:自动布局实现兄弟控件N等分且宽高比例是1:N(xib 上实现)
本文为 iOS视图约束专题的第三篇:xib上使用自动布局教程
188 0
|
Linux iOS开发 开发者
实现在windows、linux下上传ios app到App Store
实现在windows、linux下上传ios app到App Store
实现在windows、linux下上传ios app到App Store
|
小程序 前端开发 Shell
接入 mPaaS 小程序并实现启动 iOS 版| 学习笔记
快速学习接入 mPaaS 小程序并实现启动 iOS 版。
接入 mPaaS 小程序并实现启动 iOS 版| 学习笔记