我以前创建了一个iOS应用,将数据保存到数据库。我已经从应用程序中复制了数据,现在有三个文件:
MyData.sqlite,MyData.sqlite-shm和MyData.sqlite-wal
我正在尝试在XCode中创建一个命令行实用程序,该实用程序将访问那些数据库中的数据。我已经将CoreData添加到命令行实用程序项目中,并且能够创建一个新数据库。我想要的是加载从应用程序导出的数据库。
我发现某人以前的问题:Migrate Core Data database from one app to another
但是,他们的回答对我不起作用。这行:
let storeUrl = FileManager.default.urls(for: .documentDirectory, in:.userDomainMask).first!.appendingPathComponent(databaseName + ".sqlite")
给出此错误:
expression produced error: error: /var/folders/cc/r_54b90515v_m6t41vg9lg000000gp/T/expr14-6084fa..swift:1:65: error: use of undeclared type 'Foundation'
Swift._DebuggerSupport.stringForPrintObject(Swift.UnsafePointer<Foundation.URL>(bitPattern: 0x1004fc2f0)!.pointee)
我觉得我一定缺少这个问题的简单答案。是否有一种简单的方法将Core Data数据库信息从一个应用程序移植到另一个应用程序?
此行:
let storeUrl = FileManager.default.urls(for: .documentDirectory, in:.userDomainMask).first!.appendingPathComponent(databaseName + ".sqlite")
不适用于命令行实用程序。适用于应用程序。
您将不得不以其他方式获得路径(命令行arg,硬代码,相对于实用程序等)