iOS 17+Xcode15环境下如何导出Core Data SQLite数据文件?
iOS 17 + Xcode 15 查看Core Data数据的替代方案
之前的容器导出方法失效后,试试这几个可行的办法:
1. 直接在Xcode调试面板查看
- 运行你的App,切换到Xcode的Debug Navigator(左侧导航栏最下方带虫子图标的选项)
- 点击导航栏顶部的"+",添加Core Data选项
- 展开对应的Persistent Store,就能直接浏览所有实体、属性和存储的数据,还能在线编辑或删除记录,完全不用导出容器
2. 终端命令复制容器
- 打开Xcode的
Window -> Devices and Simulators,找到你的App,右键选择Show Container in Finder - 复制Finder里显示的容器路径,打开终端,用
ditto命令把容器复制到桌面:ditto "Finder里的容器路径" ~/Desktop/MyAppData - 复制完成后,打开桌面的
MyAppData文件夹,找到Library/Application Support里的Core Data SQLite文件,用SQLite浏览器打开即可
3. 在App内加调试导出功能(真机适用)
- 给App加个调试触发入口(比如长按按钮、隐藏菜单),调用代码把Core Data存储文件复制到Documents目录:
func exportCoreDataStore() { guard let storeURL = persistentContainer.persistentStoreCoordinator.persistentStores.first?.url else { return } let docsDir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! let targetURL = docsDir.appendingPathComponent(storeURL.lastPathComponent) do { try FileManager.default.copyItem(at: storeURL, to: targetURL) print("数据已导出到Documents:\(targetURL)") } catch { print("导出失败:\(error.localizedDescription)") } } - 之后可以通过
Window -> Devices and Simulators下载容器,或者用iOS的FilesApp访问Documents目录拿到文件
内容的提问来源于stack exchange,提问作者Mickey223
相关产品推荐
相关产品推荐

