我有一个SQLite数据库,我用它来存储应用程序数据,我可以查看它内部以调试我遇到的问题-但是iPhone模拟器通常在哪里存储它的数据?
当前回答
简单地这样做:
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
你会得到这样的想法:
/用户/ admin /图书馆/开发/ CoreSimulator /设备/ 58 b5b431-d2bb-46f1-aff3-dfc789d189e8 /数据/集装箱/数据/应用程序/ 6 f3b985f - 351 - e - 468 - f - 9 - cfd bcbe217a25fb /文档
去那里,你会看到应用的文档文件夹,不管XCode的版本是什么。(在Finder中使用“Go to Folder…”命令并指定路径“~/library”)。
字符串路径的Swift版本:
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
和文件夹URL:
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
其他回答
如果模拟器正在运行,你可以得到任何应用程序的容器的路径:
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
如果有人仍然在lion中遇到这个问题,有一篇很棒的文章提供了19个查看~/Library目录的技巧。在这里找到Dan Frakes的文章http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
记住模拟器的目录如下所示
~/库/应用程序支持/iPhone模拟器/用户/
我没有与这个程序的从属关系,但如果你正在寻找打开任何这在finder simholder使它非常容易。
您可以尝试使用下面的代码
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
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,您可以看到概览,但是如果您想找到这些模拟器的物理位置,请查看我所展示的这些目录。
删除您不支持的运行时是完全安全的。如果您愿意,可以稍后重新安装。
推荐文章
- 模拟器慢动作动画现在打开了吗?
- 如何为TableView创建NSIndexPath
- 如何比较两个nsdate:哪个是最近的?
- 使UINavigationBar透明
- iOS应用程序“应用程序无法验证”只在一台设备上
- 适用于所有iOS (iPhone/iPad/Apple Watch)设备的大小
- iPhone:如何获取当前毫秒数?
- 如何在iOS数字键盘上显示“完成”按钮?
- 当文本字段被选中时,滚动UITableView
- 我的iphone应用程序如何检测自己的版本号?
- Xcode模拟器:如何删除不需要的旧设备?
- CSS提交按钮奇怪的渲染iPad/iPhone
- iOS 6应用程序-如何处理iPhone 5的屏幕尺寸?
- 总是通过弱引用的自我在ARC块?
- 如何运行iPhone模拟器不启动Xcode?