我有一个SQLite数据库,我用它来存储应用程序数据,我可以查看它内部以调试我遇到的问题-但是iPhone模拟器通常在哪里存储它的数据?
当前回答
找到应用程序在模拟器中的位置最简单的方法之一。用户“NSTemporaryDirectory ()
步骤,
在应用程序内任意位置应用断点并运行应用程序。 当应用程序在断点处停止时,在Xcode控制台中键入以下命令。 阿宝NSTemporaryDirectory ()
请看下面的图片,以获得正确的见解
现在你有了临时文件夹的确切路径。您可以返回并查看所有应用程序相关的文件夹。
希望这也能有所帮助。快乐编码:)
其他回答
如果模拟器正在运行,你可以得到任何应用程序的容器的路径:
xcrun simctl get_app_container booted <app bundle identifier>
示例输出:
$ xcrun simctl get_app_container booted com.example.app
/Users/jappleseed/Library/Developer/CoreSimulator/Devices/7FB6CB8F-63CB-4F27-BDAB-884814DA6FE0/data/Containers/Bundle/Application/466AE987-76BC-47CF-A207-266E65E7DE0A/example.app
在任何需要设备UDID的地方,“boot”都可以替换为大多数simctl命令。
您可以使用xcrun simctl list查看设备列表,并使用xcrun simctl help获取有关特定命令的帮助。
更新:在Xcode 8.3中,你现在可以通过添加"app"、"data"、"groups"或应用组标识符来指定你想要的容器类型。
获取数据容器:
$ xcrun simctl get_app_container booted com.example.app data
Xcode在哪里存储模拟器和运行时
运行时
$ open ~/Library/Developer/CoreSimulator/Profiles/Runtimes
例如:iOS 13.0, watchOS 6.0。到目前为止,这些占用的空间最多。每一个都可以达到~5GB
设备
$ open ~/Library/Developer/CoreSimulator/Devices
例如:iPhone Xr, iPhone 11 Pro Max。这些文件通常都小于15 mb。
解释
模拟器在运行时和设备之间被分割。如果您运行$ xcrun simctl list,您可以看到概览,但是如果您想找到这些模拟器的物理位置,请查看我所展示的这些目录。
删除您不支持的运行时是完全安全的。如果您愿意,可以稍后重新安装。
最简单的方法。
在某处捕捉断点。(或暂停程序执行(在调试区点击暂停)如Najdan tomic在评论中提到的) 在控制台窗口中输入po NSHomeDirectory()
结果:
(lldb) po NSHomeDirectory() \用户usernam / Library /开发商CoreSimulator / / 4734F8C7-B90F-4566-8E89-5060505E387F Containers /数据带给您应用程序/ 395818BB-6D0F-499F-AAFE-068A783D9753
为Xcode6 - iOS8 +
~ /图书馆/开发/ CoreSimulator /设备/[的DeviceID] /数据/集装箱/数据/应用程序/ [AppID] /
接受的答案对于SDK 3.2是正确的- SDK 4用它可以模拟的每个遗留的iPhone OS/iOS版本的数字替换该路径中的/User文件夹,因此路径变成:
~/Library/Application Support/iPhone Simulator/[OS version]/Applications/[appGUID]/
如果你安装了之前的SDK,它是3.1。X模拟器将继续将其数据保存在:
~/Library/Application Support/iPhone Simulator/User/Applications/[appGUID]/
还有另一种(更快的?)方法可以在没有终端的情况下找到你的应用数据:
在模拟器中启动应用程序 开放活动监视器 在CPU选项卡中找到应用程序的名称 双击打开“打开文件和端口”
推荐文章
- 保留HTML字体大小时,iPhone的方向从纵向改变为横向
- iPhone上UIView和UILabels的渐变
- keychain上的分发证书中缺少私钥
- 如何创建一个Swift Date对象?
- Xcode 4在目标设备上说“finished running <my app>”——什么都没有发生
- 从另一个应用程序打开设置应用程序
- Xcode 6 gitignore文件应该包括什么?
- 检测视网膜显示
- 如何在UIImageView中动画图像的变化?
- 如何从iPhone访问SOAP服务
- QuotaExceededError: Dom异常22:试图向存储添加一些超出配额的东西
- 在Objective-C中@property保留,赋值,复制,非原子
- 6.5英寸屏幕的App store截图大小是多少?
- iOS测试/规格TDD/BDD以及集成和验收测试
- 停止UIWebView垂直“弹跳”?