前记

写文前总要说明目的或者吐槽些什么的。
入门iOS也快一年了,到现在还没一个自己独立完成的App,说起来也是惭愧。移动应用,说实在话,我也还在摸索中,实在没什么比较好的idea,但自己又想找一些事干,那么就仿呗。要仿一个App也不是那么简单,撇开移动端的技术,其他需要完成的就有产品、设计、测试、后端接口、服务器,这还不扯到运营、内容、市场。找了一阵子的App后,决定做一个记账方面的App。刚开始是秉持锻炼技术的目的,后来用Charles抓了一下包,发现我每记的一笔账都会被Post到对方的服务器而且还发送到pingma.qq.com做统计,顿时有内裤被人扒了的感觉。恐怕这就是业内的作风吧,冯管数据有用没用,先存起来再说,说不定又可大肆鼓吹大数据处理进入下一个风口继续骗钱过日子。

本文的面向读者

已入门iOS,且用Mac进行开发。
如果你没接触过Mac,那恐怕以下内容都不用看了。

正文

接下来就是怎么获取App素材的步骤了。
1、打开iTunes(mac自带应用),按照下图,先找到App Store,然后搜索框输入想要找的App,比如我输入的是约约(自家产品、避免纠纷),搜索出来后点击获取就可以了,期间可能需要你输入账号密码,填一下就可以了,反正免费。

2、点击我的应用,找到刚才下载的应用约约,右键点击后选择“在Finder”中显示

3、如下图所示,我们得到的是一个ipa的安装包,不要直接双击打开,右键点击后选择打开方式:归档实用工具,然后就可以获得一个同名的文件夹,在Payload中找到一个包,右键点击后选择显示包内容。

4、到这一步,就算ok了。所有资源都在这个包里面,这里就有App所有的本地素材,当然有一些素材是通过网络加载的(通常是一些需要经常换的素材)。

5、不过我们可能还会遇到找不到素材的情况,这时候就要留意显示的包中有没有Assets.car文件。当开发者使用Image Assets管理图片资源后,我们下载App解包后无法看到原始的图片,所有的图片都被存储在Assets.car文件中。

那么这时怎么办呢?在stackOverflow上找了一下,有个家伙提供了这么一个方法,用的是开源的cartool工具,专门用于提取.car文件中的资源。

打开终端:输入git clone https://github.com/steventroughtonsmith/cartool
用Xcode打开下载下来的工程,编译后自动生成可执行文件(在工程目录下的product文件夹中),然后找到可执行文件(右键点击后选择show in finder),按照下面的命令执行即可。

命令格式: ./cartool “待解压的文件路径” “解压后的文件路径”
示例:

$ ./cartool /Users/admin/Documents/Assets.car /Users/admin/Documents/

这么一来就可以获取Assets.car中的所有素材了。

首先声明这种做法在一定程度上是侵权的。毕竟每个公司的产品都是每个team的心血,我们极易拿到的素材有可能是设计部门加班加点后的产出,所以我呼吁大家仅作为学习用,切勿用于商业用途。

(iOS)仿App第一步:获取App素材相关推荐

  1. cocos2d-LUA逆向之修改客户端app,实时获取app解密后通信数据

    本文中,将以宝博.apk为例.基于前面 解密lua脚本与 解密lua资源,我们为实现修改客户端app,实时获取app解密后通信数据,应分析修改app端的lua脚本,然后按原app加密方式打包修改后的l ...

  2. Android app 标签,android 获取APP的唯一标识applicationId的实例

    使用getIdentifier()方法可以方便的获各应用包下的指定资源ID. 方式一 int indentify = getResources().getIdentifier("com.te ...

  3. 仿写App,如何获取app内的图片资源?以安卓机为例

    ​ 获取到App的apk包 有些安卓手机中,长按该app图标,会有个弹窗,弹窗里有分享按钮, 分享出去的就是一个apk包 修改后缀 把apk包的后缀名改为.zip 解压zip包 使用解压工具,解压zi ...

  4. 量化金融第一步获取市场数据 (Python Tushare)

    以前开发行情系统,没有历史行情数据只能装个通达信或者大智慧客户端再导出历史数据,然后解析数据格式入库. 现在搞行情方便多了,写个爬虫可以从雅虎财经,腾讯财经,新浪财经抓取数据,这些网站一般都提供有Op ...

  5. 量化投资第一步---获取数据---通过Tushare

    想学习计算机处理金融数据.一切的开始就是如何获取准确的股票数据. 作为学生,免费是非常吸引人的.所以这才引出了------Tushare 1. 免费 2. 好用 3. 数据全(当然,没有一手数据) 其 ...

  6. 【app开发学习】APP开发的标准流程

    最近公司外包要增加APP项目团队,领导有意让我带队,但之前开发App都是自己写点小工具来玩玩兴致一下而已,所以现在只好加班加点的在找些资料学习,也在这做一下分享. 通常一般的APP开发及上线流程 步骤 ...

  7. iOS逆向开发(2):获取APP的类声明 | class-dump | dumpdecrypted

    iOS逆向开发(2):获取APP的类声明 | class-dump | dumpdecrypted 之前介绍了怎么操作越狱的iOS设备(以下简称为手机),但简单操作手机并不是目标,小程的目标是手机上特 ...

  8. 苹果 iOS 内购三步曲:App 内退款、历史订单查询、绑定用户防掉单

    ????????关注后回复 "进群" ,拉你进程序员交流群???????? 转自:掘金 37手游iOS技术运营团队 https://juejin.cn/post/697473339 ...

  9. 苹果iOS内购三步曲:App内退款、历史订单查询、绑定用户防掉单!--- WWDC21

    一.前言 如果大家的 App 有使用 IAP 功能,那么可能会遇到用户反馈苹果充值成功,但是服务没有到账的情况,用户一般会提供这样的苹果收据: 用户反馈时提供的苹果收据中,有一个字段中 ORDER I ...

最新文章

  1. linux查看占用端口号的程序及pid
  2. LoadRunner对不同协议的选择
  3. DATAGUARD 参数配置
  4. java中的serializable_java中的Serializable接口的作用
  5. nssl1230-序列【位运算】
  6. Windows学习总结(7)——学会CMD命令提示符的重要性
  7. python怎么弄成白色背景_使用PIL python将白色背景转换为透明背景
  8. ros 发布信息频率_ROS入门笔记二基础
  9. python查看服务器日志_python读取服务器日志的方法
  10. B站,又被扫黄了!!!
  11. 安卓手机端、PC电脑端的微信文件存储位置:
  12. 简单解释为什么会存在hash冲突
  13. 微信小程序云开发教程-墨刀原型工具入门
  14. 搜索引擎网站登录入口|免费登录|百度登录|谷歌登录|网站收录入口
  15. 小米系列手机MIUI12系统升级详细教程
  16. Mysql replace/insert into 插入修改数据
  17. Warning: Attempt to present * on * which is already presenting *
  18. Memwatch简介
  19. EM算法从直观到数学理解
  20. MySQL 运维 日志 -- 错误日志、二进制日志、查询日志、慢查询日志

热门文章

  1. 与、或、非、与非、或非、异或、同或的区别
  2. FPGA驱动RGB灯带WS2812B
  3. 数学建模重要算法简介及算法实现
  4. FITC-GSL I荧光素标记的西非单叶豆凝集素 I
  5. 4、概率中的独立性和互斥性
  6. Apache的配置文件详细解释
  7. 月入3万,个人博客的暴利赚钱套路分享!
  8. 转发 :QQ游戏百万人同时在线服务器架构实现
  9. 28 关于 Finalizer
  10. 快递物流查询,教你自动查询并识别所有快递是否签收、退回