'SQLite.swift/SQLCipher' error: ambiguous use of 'SQLITE_DETERMINISTIC'
'SQLite.swift/SQLCipher' error: ambiguous use of 'SQLITE_DETERMINISTIC'
我正在通过 cocoapods 使用 SQLite.swift 和 SQLCipher。
我在 SQLite.swift 文件中收到 'SQLITE_DETERMINISTIC' 的错误用法不明确:Connection.swift 在第 590 行失败。代码段如下所示。
var flags = SQLITE_UTF8
#if !os(Linux)
if deterministic {
flags |= SQLITE_DETERMINISTIC
}
#endif
我可以通过解锁 pod 文件并将 'SQLITE_DETERMINISTIC' 替换为 'SQLCipher.SQLITE_DETERMINISTIC' 或 'SQLite.SQLITE_DETERMINISTIC' 来解决此问题。但出于很多原因,这很糟糕。
重现步骤:
- 使用Xcode11.3
- 创建一个新项目(Single View App 即可)
- 创建 Podfile(下面的示例)
- 运行 'pod install'
- 打开工作区并编译
- 构建失败并出现错误
示例 Podfile:
use_frameworks!
target 'TestSQLite' do
pod 'SQLite.swift/SQLCipher', '~> 0.12.2' # with SQLCipher
end
如有任何帮助,我们将不胜感激。
SQLite.swift 版本 0.12.2 而您没有指定 SQLCipher 版本。请检查 Podfile.lock 文件中的 SQLCipher 版本,可能是 4.3.0。在这种情况下,将 SQLCipher 版本设置为 4.2.0。清理并构建项目。它会起作用。您可以更新 pods
pod 'SQLCipher', '~>4.2.0'
pod 'SQLite.swift/SQLCipher', '~>0.12.0'
运行 在命令行中执行命令
pod 分解
吊舱安装
谢谢
我正在通过 cocoapods 使用 SQLite.swift 和 SQLCipher。
我在 SQLite.swift 文件中收到 'SQLITE_DETERMINISTIC' 的错误用法不明确:Connection.swift 在第 590 行失败。代码段如下所示。
var flags = SQLITE_UTF8
#if !os(Linux)
if deterministic {
flags |= SQLITE_DETERMINISTIC
}
#endif
我可以通过解锁 pod 文件并将 'SQLITE_DETERMINISTIC' 替换为 'SQLCipher.SQLITE_DETERMINISTIC' 或 'SQLite.SQLITE_DETERMINISTIC' 来解决此问题。但出于很多原因,这很糟糕。
重现步骤:
- 使用Xcode11.3
- 创建一个新项目(Single View App 即可)
- 创建 Podfile(下面的示例)
- 运行 'pod install'
- 打开工作区并编译
- 构建失败并出现错误
示例 Podfile:
use_frameworks!
target 'TestSQLite' do
pod 'SQLite.swift/SQLCipher', '~> 0.12.2' # with SQLCipher
end
如有任何帮助,我们将不胜感激。
SQLite.swift 版本 0.12.2 而您没有指定 SQLCipher 版本。请检查 Podfile.lock 文件中的 SQLCipher 版本,可能是 4.3.0。在这种情况下,将 SQLCipher 版本设置为 4.2.0。清理并构建项目。它会起作用。您可以更新 pods
pod 'SQLCipher', '~>4.2.0'
pod 'SQLite.swift/SQLCipher', '~>0.12.0'
运行 在命令行中执行命令
pod 分解
吊舱安装
谢谢