改存储相关的逻辑,我总想亲眼确认一下 App 在 iPhone 上到底往沙盒里写了什么:缓存清干净了没、Core Data 的 sqlite 文件长多大、那个配置 plist 字段到底存对了没有。问题是真机上这些目录你根本点不进去,Xcode 的 Download Container 又只认 Mac、还得是你自己证书签的包。想在 Windows 上把自己 App 的沙盒数据目录捞出来看看,得换个办法。
KeyMob 的文件管理里有个「应用文件」入口,能把指定 App 的整个数据目录导到电脑上,不用越狱。下面把怎么导、导出来怎么看、有哪些坑,一步步走一遍。iOS App 沙盒数据查看这件事,流程本身不复杂,耗时才是要提前有数的。
数据线把 iPhone 接到电脑,打开 KeyMob。第一次连要在手机上点「信任此电脑」,锁屏状态或者用充电线弹窗可能不出来,解锁了再试。信任关系建好之后,工具才读得到设备上的文件。
左侧菜单进「文件管理」,里面分用户文件、系统文件、日志文件几个入口,导 App 沙盒要走「应用文件」这个——右侧会把已安装的 App 都列出来。滚动找或者直接搜你的 App 名字,点进去就是这个 App 的数据目录了。
要看的是 App 自己的沙盒,别在用户文件或系统文件里绕——「应用文件」才是按 App 归好的那个入口。

进了目标 App 的目录,点顶部工具栏的「保存」,选一个电脑上的路径(建议新建个专用文件夹,不然导出来一堆目录容易和别的混)。这一步手机要保持解锁亮屏,不然传输容易中断。数据量大的话会跑一会儿,耐心等它复制完。
导出耗时跟手机总数据量挂钩:64GB 以下大概 15–30 分钟,128GB 要 30–50 分钟,256GB 以上可能一个钟头往上。所以想看好几个 App 的话,一次性都勾上一起导,别分次来回弄,不然每次都得重新等。保存偶尔会失败,重来一次一般就好,失败多半跟手机锁屏或连接松动有关。
复制完点右侧「查看」,就能看到这个 App 的完整文件目录了。开发自己 App 的话,重点几个地方:
Documents/:你主动存的用户数据,Core Data 的
.sqlite 一般在这或
Library/Application Support,拿 DB 工具打开就能看表和数据;Library/Caches/:缓存堆在这,排查"清缓存没清干净"直接看它占多大;Library/Preferences/:
.plist 配置文件,用文本或 plist 编辑器打开,核对字段存没存对;tmp/:临时文件,看看是不是有该删没删的。我上回排一个"缓存显示清了实际没清"的 bug,就是把 Caches 目录导出来,发现有个第三方库自己又建了个子目录没走统一清理,一眼就定位了。比在代码里加一堆 log 猜快多了。
有个情况得提一句:部分 App 出于安全考虑,会把数据库或配置加密后再写进沙盒,直接拿普通文件工具导出来打开就是一堆密文,啥也看不出。 克魔( KeyMob)的解密能力就是冲这个来的——它能把 App 保存的图片、音频、视频、配置文件这些数据还原成可读的样子,而不是甩给你一份打不开的密文。
开发自己 App 的时候,这点在核对"加密存储到底有没有写进去、字段对不对"时挺有用:导出来要是密文,先确认是不是走了加密存储,再看解密后的内容对不对得上你代码里写的那套。省得你盯着一堆十六进制干瞪眼,还以为是导出坏了。
导 App 沙盒数据,几个办法各有边界:
Documents 一个目录,还得 App 自己开了
UIFileSharingEnabled 才行,Caches、Preferences 这些看不到;要做更底层的容器调试、配合断点看运行时写入,那还是 Xcode 连真机更合适。
想确认自己 App 在 iPhone 上存了什么,核心就是把沙盒数据目录导到电脑上逐层翻。用 KeyMob 走「文件管理 → 应用文件」,选中 App、保存到本地、再逐个看 Documents、Caches、Preferences,多数存储相关的问题,数据摊开在电脑上看比对着代码猜要直接得多。导之前留意下数据量和耗时,想看多个 App 就一次都勾上,省得反复等。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046796/viewspace-3187203/ ,如需转载,请注明出处,否则将追究法律责任。