You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自有iOS项目中最小化集成GRDB?含SPM等集成疑问

解答:在iOS项目中通过SPM构建GRDB并使用最小组件集

嘿,我刚好用GRDB做过项目,来一步步帮你解决这两个问题~

一、通过Swift Package Manager配置GRDB到你的iOS项目

完全理解刚接触SPM时的困惑,其实步骤很清晰,跟着来就行:

  • 打开你的Xcode项目,点击左侧导航栏最顶部的项目文件(不是具体的Target),切换到「Package Dependencies」标签页。
  • 点击左下角的「+」按钮,在弹出的搜索框里输入 GRDB.swift,按回车搜索(或者直接用GRDB的仓库地址搜索也可以)。
  • 在搜索结果里选中GRDB.swift,选择合适的版本(建议选最新的稳定版,比如「Up to Next Major Version」),点击「Add Package」。
  • 接下来选择要添加到的Target(你的iOS App Target),后续我们再调整模块来用最小集。
  • 最后验证配置:打开任意Swift文件,顶部添加对应模块的import语句(比如import GRDB.Core),写个简单的数据库连接代码,编译不报错就说明配置成功了。

二、使用GRDB的最小组件集

GRDB通过SPM拆分了多个子模块,默认的GRDB包包含所有功能,但如果只需要核心数据库操作,只引入GRDB.Core就够了——这就是最精简的组件集,包含连接管理、SQL执行、事务、Row处理等基础能力。

如何只引入GRDB.Core:

  • 如果还没添加GRDB包:在「Add Package」步骤中,不要勾选默认的GRDB,而是展开列表,只勾选GRDB.Core,再添加到你的Target。
  • 如果已经添加了完整的GRDB包:回到「Package Dependencies」标签页,找到GRDB.swift并展开,点击「Dependencies」里的GRDB,修改勾选的模块,只保留GRDB.Core,然后同步项目。

最小组件集的使用示例

用GRDB.Core做基础数据库操作的代码大概是这样的:

import GRDB.Core

// 创建磁盘数据库(路径在App的Documents目录下)
let dbPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("myDatabase.sqlite")
let dbQueue = try DatabaseQueue(path: dbPath.path)

// 创建表
try dbQueue.write { db in
    try db.execute(sql: """
        CREATE TABLE IF NOT EXISTS player (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            name TEXT NOT NULL,
            score INTEGER DEFAULT 0
        )
        """)
}

// 插入数据
try dbQueue.write { db in
    try db.execute(sql: "INSERT INTO player (name, score) VALUES (?, ?)", arguments: ["Bob", 150])
}

// 查询数据
let topPlayers = try dbQueue.read { db -> [String] in
    let rows = try Row.fetchAll(db, sql: "SELECT name FROM player WHERE score > ? ORDER BY score DESC", arguments: [100])
    return rows.compactMap { $0["name"] }
}
print("Top players: \(topPlayers)")

如果之后需要ORM、查询构建器等进阶功能,再回头添加GRDB.QueryInterface模块就行,完全按需扩展~

内容的提问来源于stack exchange,提问作者Dale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:24:13