无法使用SQLite.swift

时间:2016-12-11 09:23:52

标签: swift macos carthage sqlite.swift

我已设法使用" 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本身的不同扩展也没有任何帮助。实际上,它没有任何区别。

由于我很新,我不知道从哪里开始寻找,所以任何让我加快速度的帮助都非常感谢!

1 个答案:

答案 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