我有一个SQLite数据库,我用它来存储应用程序数据,我可以查看它内部以调试我遇到的问题-但是iPhone模拟器通常在哪里存储它的数据?
当前回答
对于macOS Catalina,我发现我的db在:
~/Library/Developer/CoreSimulator/Devices/{deviceId}/data/Containers/Data/Application/{applicationId}/Documents/my.db
为了获得applicationId,我只是按修改的日期对文件夹进行了排序,不过我相信有更好的方法。
其他回答
简单地这样做:
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 5中,你可以使用以下代码:
#import <Foundation/NSFileManager.h>
and:
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);
结果看起来像这样:
"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh是一个十六进制字符串,用来识别你的iOS应用程序。
最简单的方法。
在某处捕捉断点。(或暂停程序执行(在调试区点击暂停)如Najdan tomic在评论中提到的) 在控制台窗口中输入po NSHomeDirectory()
结果:
(lldb) po NSHomeDirectory() \用户usernam / Library /开发商CoreSimulator / / 4734F8C7-B90F-4566-8E89-5060505E387F Containers /数据带给您应用程序/ 395818BB-6D0F-499F-AAFE-068A783D9753
看起来Xcode 6.0再次移动了这个位置,至少iOS 8模拟器是这样的。
~ /图书馆/开发/ CoreSimulator /设备/[的DeviceID] /数据/集装箱/数据/应用程序/ [AppID]
还有另一种(更快的?)方法可以在没有终端的情况下找到你的应用数据:
在模拟器中启动应用程序 开放活动监视器 在CPU选项卡中找到应用程序的名称 双击打开“打开文件和端口”
推荐文章
- Ios模拟器:如何关闭应用程序
- 如何在iOS中使用Swift编程segue
- 我如何改变UIButton标题颜色?
- Xcode 4挂在“附加到(应用程序名称)”
- 缺少推荐的图标文件-该包不包含iPhone / iPod Touch的应用程序图标,像素为“120x120”,png格式
- 如何使用Xcode创建。ipa文件?
- 我可以在没有“构建和运行”的情况下启动iPhone模拟器吗?
- Xcode 4 -在新的Macintosh安装上的配置文件上“没有找到有效的签名标识”错误
- 在iPhone上确定用户是否启用了推送通知
- 是否有可能禁用浮动头在UITableView与UITableViewStylePlain?
- Swift -转换为绝对值
- 在代码中为UIButton设置一个图像
- 如何修复UITableView分隔符在iOS 7?
- 如何改变时间和时区在iPhone模拟器?
- 在Swift中根据字符串计算UILabel的大小