如何通过Swift Package Manager在GRDB.swift中启用FTS5?
可以通过SPM启用GRDB.swift的FTS5功能
当然可以,无需依赖CocoaPods。核心是给GRDB.swift添加SQLITE_ENABLE_FTS5编译宏,让带条件编译的FTS5结构体代码被正常编译。以下是具体实现方式:
方式一:Xcode项目图形界面配置(适合纯Xcode管理的项目)
- 打开Xcode项目,选中目标App的target
- 进入Build Settings标签页,搜索Preprocessor Macros
- 在Debug和Release配置中,均添加
SQLITE_ENABLE_FTS5=1宏定义 - 重新编译项目,即可正常使用FTS5相关功能
方式二:Package.swift配置(适合SPM管理的包项目)
如果你的项目通过Package.swift管理依赖,可直接在配置文件中给目标添加编译参数:
let package = Package( name: "YourApp", dependencies: [ .package(url: "https://github.com/groue/GRDB.swift", from: "6.0.0"), ], targets: [ .target( name: "YourTarget", dependencies: [.product(name: "GRDB", package: "GRDB.swift")], swiftSettings: [ .define("SQLITE_ENABLE_FTS5") ] ), ] )
配置完成后重新解析依赖并编译,FTS5功能即可激活。
GRDB.swift会基于该编译宏自动启用SQLite的FTS5扩展,无需额外修改SQLite编译源或引入其他库,相关细节已被GRDB封装处理。
内容的提问来源于stack exchange,提问作者Łukasz Łabuński
相关产品推荐
相关产品推荐

