前言
本文主要讲述怎样获得其他优秀的iOS应用的图片资源,以及解决了12.7版本的iTunes不能下载应用的问题。
最近看一个开发的视频,作者为了模仿一个很流行的app, ‘‘盗取’’了这个app的所有图片,看的我很惊讶,心想这都可以,被这波操作给 安排 了。
下面我就给大家分享一下我总结的经验。
一. 首先,我们必须要获得想要资源的应用ipa文件
ipa是Apple程序应用文件iPhoneApplication的缩写。简单来说,Mac 下的iphone软件,就像是 Windows 下的绿色软件一样,解压后即可使用,不需要安装,卸载的话也只用删除程序文件即可。熟悉IOS开发的都应该了解,当你想要上传内测版本的app到蒲公英或者是fir上时,最终上传的都是后缀为.ipa的文件,这个文件里包含了该应用的所有信息,只是苹果把它压缩整包了,一部分是不能让我们看到的,例如源码。还有一部分是我们可以看到的,那就是该应用的所有的图片资源。
iOS APP中所有资源 = Assets.car + .api文件解压
1. 先以iTunes为例来获取应用的ipa文件
当你Mac上的iTunes为12.7及以上时,你会发现苹果将iTunes里的应用下载的功能移除掉了。这我就日了狗了,那我该怎么下载应用的ipa文件呢? 在网上说有很多种软件可以下载,例如PP助手,iTools,但是我都试了,都不太好用。最终我还是决定继续用iTunes来实现。
在论坛里找到一个解决的办法非常好用,既然12.7移除了,那我们就下载没有移除的版本呗。
① 前往Apple Developer的下载管理界面

按照上图的方式下载版本为12.6的iTunes,这个版本就是没有移除应用下载功能的。
② 下载完成之后,当你想安装的时候会发现,提示 已经有更高版本的iTunes了 ,既然想要套狼,那就不能舍不得孩子。想要安装低版本的iTunes,前提必须将高版本的iTunes删除。
③ 当你想要删除高版本的iTunes时,你用正常删除软件的方式是不行。系统会提示你不允许你这样操作。那么我换一种方式,用root权限删除呢。
1.0 打开终端
2.0 切换到root权限 输入 $ sudo -i 回车 输入电脑密码(password)

3.0 进入到Applications目录下 输入 $ cd /Applications/
4.0 展示所有应用的列表 输入 $ ls

红框内的iTunes.app就是我们想要删除的应用
5.0 尝试删除iTunes.app 输入 $ rm -rf iTunes.app 回车 会提示 Operation not permitted 同样是操作不被允许,这个是Mac OS对系统的安全防护。
下面我们需要暂时接触安全防护限制策略才能完成删除的操作,csrutil disable命令可以解除此限制,但是通过命令详情可以看到这种操作需要在恢复模式下才能使用。

6.0 重启电脑,按COMMAND+R组合键进入恢复模式,找到【实用工具】-->【终端】,在终端窗口中输入命令csrutil disable解决权限限制。


7.0 执行完上述操作之后,重启电脑 ,重复上述1.0, 2.0,3.0,4.0,5.0操作,如果按照上述所说的操作的话,你会发现iTunes已经成功的被删除了。删除成功之后,不用忘了重复6.0的操作 将Mac OS的权限限制恢复。在终端中输入 csrutil enable 恢复权限设置。重启电脑,继续往后操作。

8.0 此时,你如果安装12.6版本的iTunes的话,又会提示你一个错误问题。说是无法读取文件“iTunes Library.itl”,它的意思就是没有删干净呗。此时一定要点击退出。

9.0 打开Finder 搜索iTunes Library.itl,会搜到一个结果,这个就是问题文件,把它一到废纸篓就好咯。

10.0 删除上述文件之后,你再安装12.6的iTunes,终于成功了。大功告成。
2. iTunes的版本问题解决了,那么Get ipa文件就是 so easy了
① 这里我们以思聪的🐼直播为例,首先去iTunes找到该应用,点击下载。下载完成之后,你可以在资料库里找到。

② 找到刚刚下载好的🐼直播, 右键 showFinder一下, 就会找到该应用的ipa文件了。


③ 首先给ipa文件解压, 会得到一个同名的文件夹 ,依次打开 熊猫直播 4.0.14 -> Payload -> PandaTV-ios 点击右键 显示包内容。



④ 上图中我们仅仅得到了部分的图片例如 icon 启动图了。大部分的图片都被压缩到了上面的红框的文件中 Assets.car,下面我们就试着把Assets.car解压。
二. 前面我们已经把ipa文件以及其中Assets.car得到了,下面我们就开始解压Assets.car
1. 在这里,我用一个第三方的框架来解压它,它叫cartool,还有很多其他的方法,我就不一一列举了。
① 下载完成,打开文件夹 打开.xcodeproj

② 运行cartool项目

③ 运行成功,生成cartool工具

④ 打开终端,先拖入cartool的路径,然后再拖入Assets.car的路径,最后拖入存放图片文件夹路径。(三者之间用空格隔开,终端一般会自动空格)

⑤ 打开图片文件夹,图片全部加载进来。圆满完成!

网友评论