You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode 9问题:无法在模拟器文件夹中找到.sqlite数据库

解决iPhone模拟器中SQLite数据库文件找不到的问题

我之前也碰到过类似的情况,重装macOS和Xcode后,模拟器的文件存储路径确实容易发生变化,给你几个靠谱的解决方法:

方法1:通过Xcode直接定位App沙盒容器

  • 打开你的Xcode项目,启动iPhone 6s模拟器并运行App
  • 点击Xcode顶部菜单栏的Window > Devices and Simulators(快捷键Shift+Command+2)
  • 在弹出的窗口左侧选择Simulators,找到你正在使用的iPhone 6s模拟器
  • 右侧App列表里找到你的目标应用,点击下方的Show Container按钮,这会直接打开该App的沙盒根目录
  • 进入Data > Documents文件夹,你的.sqlite文件应该就在这里

方法2:手动查找模拟器沙盒路径

重装系统或Xcode后,模拟器的默认存储路径通常在:

~/Library/Developer/CoreSimulator/Devices/
  • 打开Finder,按下Command+Shift+G,粘贴上面的路径回车
  • 这里会有一堆带UUID的文件夹,每个对应一个模拟器实例
  • 要找到iPhone 6s对应的文件夹:右键打开文件夹内的device.plist文件,查找productType字段,值为iPhone8,1的就是iPhone 6s模拟器
  • 进入对应模拟器文件夹后,找到data/Containers/Data/Application/目录,这里的每个UUID文件夹对应一个安装在该模拟器上的App
  • 可以通过查看每个App文件夹下Library/Preferences里的plist文件(包含App的Bundle ID)来定位你的目标App,进入后就能找到Documents目录里的.sqlite文件

方法3:在代码中打印数据库绝对路径

如果上面的方法还是没找到,直接在App代码里加一行打印,输出数据库的准确路径:

// Swift 示例
if let docDir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
    let dbPath = docDir.appendingPathComponent("你的数据库文件名.sqlite").path
    print("数据库路径:\(dbPath)")
}
// Objective-C 示例
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *dbPath = [documentsDirectory stringByAppendingPathComponent:@"你的数据库文件名.sqlite"];
NSLog(@"数据库路径:%@", dbPath);

运行App后,在Xcode控制台复制这个路径,用Finder的Command+Shift+G直接跳转就能找到文件。

内容的提问来源于stack exchange,提问作者user9373173

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:25:19