XZ_iOS之iOS如何获取任意app的所有图片资源

为什么要获取App资源?
真实开发中,实现一个App里面会用到各种图片资源(包括图标、背景图片等等),这些资源通常是美工提供给我们,我们直接使用即可。但是,如果我们想要模仿一个App,也没有真正的美工人员提供给我们图片,怎么办呢?我们就需要从模仿的App的ipa包中获取到想要的资源

如何下载IPA资源包?
图片资源都是存在IPA包中,所有第一步操作应该是下载IPA包,以斗鱼为例:
可以利用iTunes、PP助手、iTools任何一个软件下载IPA包,因为iTunes连接速度较慢,所以我通常选择后两者其中一个

现在以PP助手为例,如果电脑上没有PP助手,就需要下载一个了,
第一步选择正版应用,搜索斗鱼,选择第一个适合所有平台的,第二个是仅供iPad使用的,点击“下载”; XZ_iOS之iOS如何获取任意app的所有图片资源_第1张图片
在Finder—下载—PP下载—应用—斗鱼-热门高清游戏直播平台-体育赛事户外直播-娱乐直播平台(正版).ipa,如下图:
XZ_iOS之iOS如何获取任意app的所有图片资源_第2张图片
右键.ipa包,选择“打开方式---归档使用工具”,注意:不要点击iTunes,iTunes是安装应用的,如下图:

这样就获得了解压后的文件夹,找到Payload文件夹里面的.app包,如下图:
XZ_iOS之iOS如何获取任意app的所有图片资源_第3张图片
右键.app包,选择“显示包内容”,就可以看到部分图片,从这里可以找到一些启动图和appIcon图片,但是,项目中的其他文件都是包含在Assets.car里面,如下图:
XZ_iOS之iOS如何获取任意app的所有图片资源_第4张图片
下面就需要解压Assets.car包,获取里面的图片了,我使用的是cartool进行获取的,cartool是一款专门导出OS X/iOS 带.car后缀的压缩图片的工具,GitHUb的下载地址是
steventroughtonsmith/cartool 

如何使用cartool?
首先将cartool下载下来,然后打开工程,选择Edit Scheme — Arguments,在Arguments Passed On Launch下添加两个路径,第一个是Assets.car包所放的路径,第二个是解压后的图片的文件路径,如下图:
XZ_iOS之iOS如何获取任意app的所有图片资源_第5张图片
然后,点击运行即可,反应有点慢,等几秒钟就会看到控制台的打印,这些打印就是图片的名称,可以在解压后的图片存放的文件夹中看到这些图片,下图是控制台的打印:
XZ_iOS之iOS如何获取任意app的所有图片资源_第6张图片

到此,获取程序图片完成,可以开始开发了!

如何从众多图片中找到自己需要的呢?
文件夹中既有适配iPhone的也有适配iPad的图片,如何快速的留下所有iPhone的图片呢?删除不需要的图片,例如将启动图中的所有图片放在一个文件夹下,然后搜索ipad,选择当前文件夹下搜索,然后删除所有适配iPad的图片,剩下的就是iPhone的图片了,如下图:
XZ_iOS之iOS如何获取任意app的所有图片资源_第7张图片


你可能感兴趣的:(iOS)