我已设法使用" Carthage方法"安装SQLite.swift(0.18.1)。
我可以"导入SQLite"并做一些其他的事情,但当我尝试打开数据库时,使用以下代码:
let db = try Connection("~/db.sqlite3")
并运行我的程序(这远非完整,但我一步一步地采取它),我得到以下令人讨厌的错误:
dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /Volumes/MBP-Data/rob/Library/Developer/Xcode/DerivedData/PFA-Analysis_(Swift)-advmptllvbeczrdcmjxnkcpsqogx/Build/Products/Debug/SQLite.framework/Versions/A/SQLite
Reason: image not found
(lldb)
对我而言,看起来它与尝试打开数据库的命令有关,因为当我离开该命令时,我的代码运行正常。 尝试不同的数据库路径和数据库ik sta in de file本身的不同扩展也没有任何帮助。实际上,它没有任何区别。
由于我很新,我不知道从哪里开始寻找,所以任何让我加快速度的帮助都非常感谢!
答案 0 :(得分:0)
我所知道的是数据库文件扩展名无关紧要(因此您可以.sqlite
或.db
或.database
)
我这样做了:
var database: Connection {
return try! Connection(Constants.Database.databaseFilePath)
}
Constants.Database.databaseFilePath
static let databaseFilePath = "\(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask,true)[0])/\(databaseFileName)"
和databaseFileName
类似
static let databaseFileName = "parky.db"
databaseFilePath中的代码返回iOS容器内数据库文件的实际路径。这就是我设法让它发挥作用的方式。
看看Carthage是否将SQLite库添加到Xcode中的嵌入式框架中? Carthage Documentation