iOS关于rar解压第三方库Unrar4iOS使用总结

Mac平台RAR命令行工具使用全指南 看到这里,你应该已经掌握了从安装到实战的全套技能。回顾一下我们走了多远:- 理解了RAR为何不被Mac原生支持- 成功安装Homebrew并配置镜像加速- 掌握unrar三大核心命令:解压、校验、列文件- 学会编写自动化脚本处理复杂任务- 认识到rar的版权风险并找到合规替代方案这套组合拳的价值,远远超出“解个压缩包”本身。它代表着一种思维方式:用代码代替鼠标,用自动化代替重复劳动。 阅读详情

原地址:http://www.cnblogs.com/zzltjnh/p/3961456.html


作者最近的公司项目要做实现rar解压的功能,在网上找了很久貌似关于rar解压的资料很少,不过有很多人推荐一个名叫“Unrar4iOS”的第三方开源框架,于是下载并尝试使用发现该开源框架并在使用过程中发现了一些存在的问题,特在此做下总结让后来人少走些弯路。

1.不支持armv7s;
2.编译好的framework中将Unrar4iOS.h和Unrar4iOS.mm编译在内有些方法并未实现,比如-(BOOL) unrarFileTo:(NSString*) path overWrite:(BOOL) overwrite;该方法的实现居然是空的也就是什么都没做(原作者最终虽然更新了两个文件但是并未重新编译framework);
3.对于第二个问题可能有人会说把Unrar4iOS.h和Unrar4iOS.mm这两个文件重新拉近项目中不就可以了吗?答案是“如果你的项目中other link flags没有设置为-ObjC是可以这么做的,否则的话会报一些标识符重复的错误”。
 
针对以上各种问题我本来想用最新源码重新编译一个framework以支持armv7s,但是把源码拖进其它工程报出各种编译错误,由于时间问题最终还是放弃了,如果有哪位好心人将最新的远吗编译成功了一个framework的话欢迎给我留言或者直接拿出来开源(广大码农将不胜感激)。
 
那么现在就来说说我是如何做的吧
其实我也是采用了上面说的第三个问题中提到的方法,我们的主工程other link flags设置了-ObjC这是一个摆在眼前的事实,我不能为了集成这一个framework而去修改主工程的配置(修改的话涉及面太多),那么只能从重复标示符下手了,既然重复了我把你修改掉不就行了嘛(退一步海阔天空),不过像我这么做的话第一个问题是不能解决了只能忍痛舍弃armv7s,语言再多总是显得太苍白,下面我会教大家一步一步的将该framework集成进你的工程确保不报错。
 
第一步:下载源码。链接:https://github.com/ararog/Unrar4iOS
第二步:将解压后的Unrar4iOS目录下的RARExtractException和Unrar4iOS的.h.m文件、Unrar4iOSExample->Frameworks->Unrar4iOS.framework分别拖进你的工程并勾选copy,如下图所示:
 
这时如果你的工程开启了ARC的话可能会报一下错误,将autorelease删除掉即可。
 
再次运行还是会报错
因为raros.hpp和dll.hpp的头文件被包含在framework内,所以我们要采用尖括号“<>”的方式引入这两个头文件,修改后如下:
 
再次运行,又会发现一些ARC的问题,将release等删掉即可
 
至此你的工程应该能在模拟器上编译成功了,换下真机编译试试,是的会报之前说的那个armv7s的错误
 
修改方法:将第一个红框内的YES改为NO,删除第二个红框内的arm64和armv7s,只保留armv7.
 
还有一件事别忘了添加libz.dylib
现在你可以查看一下你的工程配置,如果下图所示的other link flags没有设置-ObjC标记,那么到现在你已经可以成功的在模拟器和真机上使用Unrar4iOS.framework了,如果你和我一样设置了-ObjC标记的话请继续往下看
 
如果设置了-ObjC的话你应该会看到以下错误提示标识符重复,原因是我们拖进来的Unrar4iOS.mm的实现文件和framework中的文件重复了
具体解决办法是先将Unrar4iOS和Unrar4iOS.mm这两个文件从工程中删除掉,待修改完成后再重新添加进来,我的做法是将这两个文件重新命名为“KWUnrar4iOS.h和KWUnrar4iOS.mm”并将KWUnrar4iOS.mm中两个“CallbackProc”修改为“CallbackProcc”,完成这一步后就可以把这两个文件重新添加进工程,最后修改后的工程结构如下:
 
真机编译ok,到此终于完成了所有的步骤,下面放出我自己的demo链接
https://github.com/zzltjnh/Unrar4iOSDemo
 
------------------------------------------华丽丽的分割线---------------------------------------------
*昨天好多人反映不支持arm64的应用无法提交appStore,因此今天又将这个东东搞了一下。
未完待续。。。

UnrarKit:在Mac和iOS上轻松读取RAR存档 关于 UnrarKit在这里使Mac和iOS应用程序可以轻松地使用RAR文件进行只读操作。 它当前基于5.8.1版本。 有一个带有单元测试的主项目,以及一个基本的iOS示例项目,该项目演示了如何使用该库。 要查看所有这些,请打开主工作区文件。 我一直乐于改进,因此请提交您的请求请求,或为其他人。 安装 UnrarKit支持和 。 CocoaPods不支持动态框架目标(从v0.39.0开始),因此在这种情况下,请使用Carthage。 购物车文件: github "abbeycode/UnrarKit" Podfile: pod "UnrarKit" 用法示例 NSError *archiveError = nil ; URKArchive *archive = [[URKArchive alloc ] initWithPath: @" An Archive.rar " error 立即下载

相关推荐

Unrar4iOS-master.zip

iOS开发 解压缩代码 rar 格式、 zip格式解压包

OC IOS ZIP、RAR、7Z文件解压缩预览、中文乱码问题

热很。。热很。。。。夏天的城市只有热浪没有情怀。。。来吧,come on。。。

carbonzhao的专栏 1253

swift-SARUnArchiveANY一个用于iOS解压缩.zip.rar.7z文件非常实用的库

一个用于iOS解压缩.zip,.rar,.7z文件非常实用的库。 基于块的UnrarKit SSZipArchive LzmaSDKObjC(7z)集成。

iOS中解压rar文件

iOS中基于UnrarKit解压rar文件 iOS中解压rar文件,使用UnrarKit框架解压,框架github地址 使用pods导入框架之后会报错 这是因为没有导入依赖框架libc++.bdt,导入之后编译一下即可 然后代码中 /** 解压 */ - (void)extract{ //获取Document路径 NSArray *documentsPathArr

青梅煮码 6740

ios12.3.rar

location的新更新系统,12.3版本 亲测可以用,感谢之前大佬的分享。

在iOS使用ZipArchive压缩和解压缩文件

一个在iOS使用ZipArchive实现压缩和解压缩文件的demo

UnrarKit:在Mac和iOS上轻松解压RAR档案

UnrarKit:在Mac和iOS上轻松解压RAR档案 项目介绍 UnrarKit 是一个专为Mac和iOS平台设计的库,它允许开发者们无缝且简便地处理RAR文件的只读操作。此库基于unrar库的5.8.1版本,提供了全面的API来满足在Apple生态系统内对RAR文件的解析需求。它包含了详尽的单元测试和一个基本的iOS示例项目,指导用户如何集成和使用这个库。 项目快速启动 安装UnrarKit ...

gitblog_00232的博客 459

VPI与Matlab协同仿真:相干光通信接收端DSP算法全解析

本文详细解析了如何利用VPI与Matlab协同仿真,构建完整的相干光通信接收端DSP算法处理闭环。重点介绍了从VPI导出数据后,在Matlab中实现时钟恢复、偏振解复用和载波相位估计等核心算法的步骤与原理,并阐述了如何通过误码率计算完成仿真验证,为相干光通信系统算法研究与验证提供了高效实用的方法。

ll5678的博客 608

Unrar4iOS解压缩

这个框架很蛋疼,倒入的时候会比较麻烦发生各种报错,网上的博文也不多,现在细致的写一下希望能帮助更多的人 首先要先把框架和几个类引入 这几个类是必须的,不解释,关键不在这里 运行发现各种错误,一个一个解决 现实发现找不到这个头文件 解决办法 如果没办法引用到Unrar4iOS类库,路径可能出了问题,把Unrar4iOS.framework先删掉,重新把Unrar4

孙元洋的专栏 1662

利用Python爬虫获取淘宝商品评论:实战案例分析

在数字化时代,数据的价值日益凸显,尤其是对于电商平台而言,商品评论作为用户反馈的重要载体,蕴含着丰富的信息。本文将详细介绍如何利用Python爬虫技术获取淘宝商品评论,包括代码示例和关键步骤解析。

2401_87849335的博客 2833

01 AUTOSAR CP标准文档阅读指南

01 AUTOSAR CP标准文档阅读指南

汽车软件工程师 | 好奇博主 | 处女座 1133

Mac OS X 命令行窗口使用 rar / unrar 命令

在Mac OS X系统中默认不支持 RAR 文件的解压缩。下面演示如何在Mac OS X系统中使用 rar 命令行操作。 1. 首先从rarlab 网站下载 rar / unrar 工具; 2. 解压缩下载的 tar.gz 压缩包(rarosx-4.1.0.tar.gz),在下载目录downloads下自动创建一个rar的目录,其中有rar / unrar 文件; 3. 进入命令窗口 - /

camel的blog 2万+

从零到一:FAST_LIO与FAST_LIO2算法环境搭建与实战评测

本文详细介绍了FAST_LIO与FAST_LIO2算法的环境搭建与实战评测,包括算法原理、环境配置避坑指南、源码编译技巧及性能对比。FAST_LIO2凭借ikd-tree数据结构在动态环境中表现优异,处理速度提升至15ms,内存占用降低40%。文章还提供了常见问题排查和进阶优化技巧,助力开发者高效实现SLAM应用。

weixin_29271053的博客 470

RAR格式文件解压:适合各平台的RAR解压软件下载推荐

本文将为用户推荐适合Windows、Mac、Linux和移动设备上的RAR解压软件下载,并提供详细的下载安装与使用教程,帮助大家轻松应对RAR格式文件的解压需求。本文推荐了适用于Windows、Mac、Linux和移动设备的RAR解压软件下载,涵盖了从功能强大的WinRAR和Keka,到轻量级的The Unarchiver和移动端的解压专家等多款优秀工具。是Mac用户中广受欢迎的解压软件,支持多种格式,包括RAR、7z、ZIP等,操作简便,功能强大。是官方提供的解压工具,支持RAR文件的解压与压缩功能。

unisapps的博客 3456

3.5.3以太网ETH TC8-PMA物理层测试

英文原版-OA_Automotive_Ethernet_ECU_TestSpecification_Layer_1_100BASE-T1_v3.0.pdf。PMA测试时各个测试项目所进入的测试模式不同,如TX_01对应测试模式1;TX_04对应测试模式5;例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。TX_07对应测试模式5;物理层测试主要分为两部分:IOP测试(包括链接时间,信号质量,线路诊断),PMA测试。

qq_28664971的博客 7689

世界职业院校技能大赛商贸赛道项目参考逐字稿一

商贸赛道“智选优品”—基于大数据与AI驱动的跨境电商平台项目参考逐字稿您订阅本专栏后即可`永久享有所有文章的查阅权`,希望我们更新的参考资料能帮助到您。如果您需要我们团队赋能培训可联系我(企业一线工程师及国一获奖选手在线培训支持:每周直播精讲(可回放,支持弹幕答疑)、代码Review+技术售后(拉群随时问,12h内响应)、④路演PPT+答辩话术一对一点评,评委视角提前彩排、适合:中职/高职赛项选手、指导老师带队、校企工作室、整校打包另谈(可开发票))

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1580

在Mac上终端使用unrar和rar 解压和压缩软件

在Mac上终端使用unrar和rar 解压和压缩软件 版本一: 1. 首先从rarlab 网站下载 rar / unrar 工具; 2. 解压缩下载的 tar.gz 压缩包(rarosx-4.1.0.tar.gz),在下载目录downloads下自动创建一个rar的目录,其中有rar / unrar 文件; 3. 进入命令(终端)窗口  4. 进入刚刚解压缩的rar 目录

ningfuxuan的专栏 1万+

华为OD干了两个月,还是跑了

​本人工作了快13年,base南京。2024年2月份由于公司业务变动第一次拿到了公司发的大礼包,同时也面临着失业的问题,我对自己的技术还是很有信心的,但是,找了大概有一个多月时间,发现心意的工作的确不太好找,当然收到挺多家offer,就是薪资不太满意,外包也一直不想去,不过说实话外包给的薪资普遍要比自研的单位要高一些,最后为了钱还是进华为(既然选择外包那就选择好一些的吧),毕竟中年老男人工作不能断太久。

啊渊的专栏 1万+

iOS 中 ZIP RAR 解压

- -(void) unZipClick {    NSString *filename = unEncodingURL;    NSFileManager *fileManager = [NSFileManagerdefaultManager];    if ([fileManagerfileExistsAtPath:filename])   {        Zi

.мνρ謎︱ing.瀡緣坣 2251

基于 YOLOv26 的光伏板热斑检测系统:红外+可见光

本文提出了一种基于YOLOv26的光伏板热斑检测系统,采用红外+可见光双模态融合方案。系统架构包含数据预处理、热斑检测、故障诊断和维修决策等模块,结合无人机巡检与地面监控。关键技术包括YOLOv26目标检测模型、双模态数据融合、边缘计算部署等。研究构建了包含多种故障类型的光伏板专业数据集,并采用数据增强技术提升模型性能。系统实现了热斑检测、分类(轻微/中等/严重/危急)以及功率损失评估等功能,为光伏电站智能运维提供解决方案。

一键难忘的博客 496

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

iOS objective-c 解压zip,rar文件

最近在研究iOS解压压缩包,就针对rar和zip rar:Unrar4ios库 但是不是很好用,各种出问题 zip:ZipArchive 库还挺简单的 最后找到了个集成这些库的demo 地址:https://github.com/saru2020/SARUnArchiveANY 妥妥的,20天前刚更新过,拿去用吧,已测。

delphi090902的专栏 3301

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

OS X 命令行窗口使用 rar / unrar 命令

在Mac OS X系统中默认不支持 RAR 文件的解压缩。下面演示如何在Mac OS X系统中使用 rar 命令行操作。 1. 首先从rarlab 网站下载 rar / unrar 工具; 2. 解压缩下载的 tar.gz 压缩包(rarosx-4.1.0.tar.gz),在下载目录downloads下自动创建一个rar的目录,其中有rar / unrar 文件; 3. 进入命令

流浪的虾壳 2392

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: iPhone应用程序 将图片保存到相册实例
下一篇: objective-c 读取文本文件
直隶码农
博客等级 码龄19年 95粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值