我有一个SQLite数据库,我用它来存储应用程序数据,我可以查看它内部以调试我遇到的问题-但是iPhone模拟器通常在哪里存储它的数据?


当前回答

在Lion上,Users/[username]/Library被隐藏。

要在Finder中查看,单击屏幕顶部的“Go”菜单,并按住“alt”键显示“Library”。

点击“Library”,你可以看到之前隐藏的库文件夹。

先前的建议:

Use

chflags nohidden /users/[username]/library

在终端中显示文件夹。

其他回答

在Lion上,Users/[username]/Library被隐藏。

要在Finder中查看,单击屏幕顶部的“Go”菜单,并按住“alt”键显示“Library”。

点击“Library”,你可以看到之前隐藏的库文件夹。

先前的建议:

Use

chflags nohidden /users/[username]/library

在终端中显示文件夹。

还有另一种(更快的?)方法可以在没有终端的情况下找到你的应用数据:

在模拟器中启动应用程序 开放活动监视器 在CPU选项卡中找到应用程序的名称 双击打开“打开文件和端口”

看起来Xcode 6.0再次移动了这个位置,至少iOS 8模拟器是这样的。

~ /图书馆/开发/ CoreSimulator /设备/[的DeviceID] /数据/集装箱/数据/应用程序/ [AppID]

如果模拟器正在运行,你可以得到任何应用程序的容器的路径:

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

为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]/