本文仅作为ios开发人员在开发app时对于存储在开发机上的app各种资源分析使用。
比如查看某款App从数据和资源层面分析一下该款app具体应用了哪些资源、本地存储用了什么技术:如数据库是sqlite3,plist,json文件还是coreData及一般哪些信息都会使用什么方式存储比较好等,还有就是这些资源存储标准,规格(大小)一般是多少.
目的,是通过ifunbox使用使开发人员对我们的移动终端上的app具体做了些什么有更深层次的理解,来方便开发人员更好的解决日后在工作上遇到的实际问题。

以下是我在实际开发app项目中对ifunbox应用时具体操作步骤如下:
1)、首先百度一下下载并安装iFunBox软件,安装后在Mac本的Applications
会看到如下面图标:
iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

具体安装步骤就不用讲了,安装完成后打开。

2)、将开发终端iphone外接到mac本上,在打开的ifunbox上会看到如下面的界面
iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

从窗口中我们看到我们设备上安装的所有的app和照片(照片可以导出备份到我们mac本中)。

3)、我们就以网易新闻App这个为例,我们双击打开网易app会看到四个目如图:

iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

在上面的4个目录中大概意思不说,其实大家也知道大概是做什么用的。这里我们重点介绍一下
Documents和Library两个目,其它两个目录在开发上对我们基本没用。
首先打开Documents目录如下图:
iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

会看到类似下面的目录结构,通过这儿可以网易app用了CoreData存储在里边plugins里有个sqlite数据库
同时用了QQ的统计分析这个可能QQ的自己加进来的。估计网易有的开发人员不知道。

4)、下面是Library目录的分析如下图(重点):

iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

Cacahes:存储本地缓存的如图片和json文件等如下图:

iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

Cookies:Cookies.binarycookies存储了网易用户登录状态的相关信息.

Preferences:com.netease.news.plist 存储了app应用包的相关信息如下图:
iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家
caches:该目录是网易自己创建的估计是想放进Caches目录中由于标准的App包这个目录
是目录名是大写的并且默认是Caches目录,结果创建个小写的caches目录放进去了,里边是些
js和json文件对我们实际开发没多大作用.

5)、通过以上4步我们基本对网易和大多数App的存储结构有了整体上的了解了,下面我们将这个app
导出到我本地后将.ipa文件扩展名改成.zip,双击解压看一下包里边都有些什么资源,如下图:
[网易新闻][i-funbox.com].ipa 改为 [网易新闻][i-funbox.com].zip解压缩

iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

iOS开发人员必备App开发工具  ifunbox 支持iPhone, iPad和iPod Touch的文件及应用管理神器 使用实例-编程之家

好了,通过以上iFunbox的使用我们做为ios研发人员基本对App在终端上的情况有个了解,通过理解
在我们实际开发中可能会用的到,比如:
         *我们的列表数据本地存储是否存储正确,plist和cookies用户信息
        是否正确写入本地
        *图片是否成功按预计的大小下载并缓存到本地,读取逻辑是否正确
        *json数据是否附合我们的要求存储到本地了

        *在安全方面我们是否对本地sqlite3数据做了加密处理等等。