iOS 如何完全抓取出ipa包内的所有图片资源

一、概述
  • iOS开发若急需使用切图或者觉得美工切的图片差强人意,最好的办法就是借(tou)鉴(qu)其他专业的App的应用切图,模仿是最稳妥的创新。
  • 笔者将以喵播客户端为例,教你一步一步完全抓取出 ipa包内的所有图片资源。走向人生巅峰。
  • 由于新版iTunes已经不显示应用选项,最新获取方法请参考:iOS获取App ipa包以及资源文件
二、步骤
  1. 首先打开iTunes,在App Store中找到你需要的App并下载到iTunes中,例如输入喵播,然后点击下载。

  2. 下载完后就会在我的应用中查看你已经下载好的的App,这时候右键点击图标,然后点击Show in Finder,此时可看到喵播 2.6.0.ipa文件。你也可以把ipa文件复制一份到桌面的新建文件夹里,方便接下来就可以愉快的任意玩耍了。

  3. 右键打开方式-->归档实用工具打开,解压到当前文件夹中即可。

  4. 打开归档后的喵播2.6.0文件夹中的Payload文件夹,里面有一个喵播文件,右键显示包内容

  5. 显示包内容后可以获取大部分的图片,但是由于 iOS7出现了利用Images.xcassets管理项目中的资源文件,Images.xcassets 编译后,最终在ipa包中是以Assets.car包的形式出现的,内部是处理后的图片名。先将喵播包内容的Assets.car复制一份出来到Assets文件夹中,方便后面愉快玩耍。也可这样理解 iOS APP中所有资源 = Assets.car + .api文件解压

  1. 要想获取所有的资源文件,最好的办法就是在Assets.car中下手,需要使用github中的开源工具cartool来提取 Assets.car文件中的资源。

    • 下载地址:https://github.com/steventroughtonsmith/cartool

    • 方式一:利用Xcode来提取 Assets.car文件中的资源。使用Xcode打开上图中的cartool.xcodeproj工程,然后通过 Product–>Scheme–>Edit Scheme或者command+shift+<快捷键,然后分别添加 Assets.car的文件路径解压Assets.car后图片的存放路径,然后运行cartool工程即可,从而可以在存放的目标文件夹中获取所有资源。

      • 解压文件
    • 方式二:利用终端命令来提取 Assets.car文件中的资源。在Xcode工程目录下的Products文件夹中cartool,邮件Show in Findercartool的文件路径中。打开终端,输入以下命令:cartool的文件路径 要解压的Assets.car资源路径 解压Assets.car文件的存放路径 即可(直接找到对应的文件,拖拽到终端即可)。

      • cartool路径
      • 终端输入
  • 方式三:推荐使用!!!利用图形界面工具iOS-Images-Extractor即可,通过其中文说明可以获取到百度云的下载地址,下载安装即可。
    使用步骤:1. 将要解压的Assets.car直接拖拽到图形工具类中2. 点击图形工具上的 Start 按钮3. 点击图形界面上的 Output Dir按钮4. 解压目录即可查看所有文件

  1. 解压成功后即可到指定的存放路径下查找资源了,不出意外,你已经获得所有的资源图片了,没错!这样就可大功告成了。


四、问题

Q: 通过cartool目前无法将Assets.car@3x的图片解析不出来 。(PS:感谢乐鹰神骑骏提出)
A:可以利用 App Icon Gear@2x来生成@3x,但分辨率不怎么好。(PS:亲,若有更好的方法可以底下评论)
A:教你快速拿到iOS应用中所有图片资源 (PS:如果你的电脑版本为10.11.6利用该工具,解压Assets.car是个空文件夹!升级一下电脑就OK了,强烈推荐该方式!!!)

五、期待
  1. 文章若对您有点帮助,请给个喜欢❤️,毕竟码字不易;若对您没啥帮助,请给点建议,切记学无止境。
  2. 针对文章所述内容,阅读期间任何疑问;请在文章底部评论指出,我会火速解决和修正问题。
  3. GitHub地址:https://github.com/CoderMikeHe

你可能感兴趣的:(iOS 如何完全抓取出ipa包内的所有图片资源)