我有一个SQLite数据库,我用它来存储应用程序数据,我可以查看它内部以调试我遇到的问题-但是iPhone模拟器通常在哪里存储它的数据?
当前回答
最简单的方法。
在某处捕捉断点。(或暂停程序执行(在调试区点击暂停)如Najdan tomic在评论中提到的) 在控制台窗口中输入po NSHomeDirectory()
结果:
(lldb) po NSHomeDirectory() \用户usernam / Library /开发商CoreSimulator / / 4734F8C7-B90F-4566-8E89-5060505E387F Containers /数据带给您应用程序/ 395818BB-6D0F-499F-AAFE-068A783D9753
其他回答
简单地这样做:
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)
看起来Xcode 6.0再次移动了这个位置,至少iOS 8模拟器是这样的。
~ /图书馆/开发/ CoreSimulator /设备/[的DeviceID] /数据/集装箱/数据/应用程序/ [AppID]
对于macOS Catalina,我发现我的db在:
~/Library/Developer/CoreSimulator/Devices/{deviceId}/data/Containers/Data/Application/{applicationId}/Documents/my.db
为了获得applicationId,我只是按修改的日期对文件夹进行了排序,不过我相信有更好的方法。
找到应用程序在模拟器中的位置最简单的方法之一。用户“NSTemporaryDirectory ()
步骤,
在应用程序内任意位置应用断点并运行应用程序。 当应用程序在断点处停止时,在Xcode控制台中键入以下命令。 阿宝NSTemporaryDirectory ()
请看下面的图片,以获得正确的见解
现在你有了临时文件夹的确切路径。您可以返回并查看所有应用程序相关的文件夹。
希望这也能有所帮助。快乐编码:)
如果有人仍然在lion中遇到这个问题,有一篇很棒的文章提供了19个查看~/Library目录的技巧。在这里找到Dan Frakes的文章http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
记住模拟器的目录如下所示
~/库/应用程序支持/iPhone模拟器/用户/
推荐文章
- 为iPad和iPhone设计输入按钮
- 如何在我的iPhone应用程序中使用NSError ?
- 在整个UIWindow中获取UIView的位置
- Xcode“构建和存档”菜单项被禁用
- 在为设备编译时,Apple Mach-O连接器错误
- 没有找到用于调试模式的此可执行文件的有效配置文件
- 如何从iPhone应用程序发送邮件
- 架构i386的未定义符号:_OBJC_CLASS_$_SKPSMTPMessage",引用自:错误
- 如何使用接口生成器创建的nib文件加载UIView
- 模拟器慢动作动画现在打开了吗?
- 如何为TableView创建NSIndexPath
- 如何比较两个nsdate:哪个是最近的?
- 使UINavigationBar透明
- iOS应用程序“应用程序无法验证”只在一台设备上
- 适用于所有iOS (iPhone/iPad/Apple Watch)设备的大小