"SQLite.swift/SQLCipher"错误:"SQLITE_DETERMINISTIC"的模糊使用



我正在使用SQLite.swift和SQLCipher通过cocoapods。

我在 SQLite.swift 文件中收到错误不明确地使用"SQLITE_DETERMINISTIC":连接.swift在第 590 行失败。 代码段如下所示。

var flags = SQLITE_UTF8
#if !os(Linux)
if deterministic {
flags |= SQLITE_DETERMINISTIC
}
#endif

我可以通过解锁 pod 文件并将"SQLITE_DETERMINISTIC"替换为"SQLCipher.SQLITE_DETERMINISTIC"或"SQLite.SQLITE_DETERMINISTIC"来解决此问题。 但由于很多原因,这很糟糕。

重现步骤:

  1. 使用 Xcode 11.3
  2. 创建一个新项目(单一视图应用程序就可以了(
  3. 创建一个 Podfile(下面的示例(
  4. 运行"容器安装"
  5. 打开工作区并编译
  6. 生成失败并显示错误

示例 podfile:

use_frameworks!

target 'TestSQLite' do
pod 'SQLite.swift/SQLCipher', '~> 0.12.2' # with SQLCipher
end

任何帮助将不胜感激。

SQLite.swift版本0.12.2,并且您没有指定SQLCipher版本。请检查 SQLCipher 版本,该版本可能是 Podfile.lock 文件中的 4.3.0。在这种情况下,请将 SQLCipher 版本设置为 4.2.0。清理并生成项目。它会起作用。您可以更新容器

pod 'SQLCipher', '~>4.2.0'

pod 'SQLite.swift/SQLCipher', '~>0.12.0'

在命令行中运行以下命令

Pod 解体

容器安装

谢谢

相关内容

  • 没有找到相关文章

最新更新