【问题标题】:Where to paste sqlite DB into iOS project在哪里将sqlite DB粘贴到iOS项目中
【发布时间】:2023-02-01 23:05:38
【问题描述】:

我刚刚收到一个应用程序,其中包含关于如何更新内部 sqlite 数据库的非常模糊的说明。

过去,我通过将现有的sqlite db 替换为/www/ 目录来使用Cordova 完成此操作。

我还使用 FMDB 创建了一个 SwiftUI 项目。我相信代码本身会在应用程序的文档目录中自动创建一个不存在的数据库。然后,我修改数据库的代码只会在同一位置修改同一数据库。我从未正式更换过数据库本身。

无论如何,给我的关于这个应用程序的说明是简单地将数据库(只是 .sqlite 文件的副本和粘贴)替换到项目的根目录中。这实际上只是使用Finder 并进行复制和粘贴。但是,我似乎没有得到新数据。

我应该在 Xcode 中这样做吗? IE。 '通过右键单击添加新文件。然后我应该将文件复制到项目和/或添加到目标吗?

我不确定这个“从 Finder 复制到项目目录”是否真的正确。快速浏览代码表明它正在尝试从应用程序的文档目录中读取数据库。

有没有办法将数据库实际复制到应用程序的文档目录?

注意:我在构建应用程序时注意到它说的是“将 db.sqlite 复制到应用程序”之类的内容。所以这向我表明,也许有某种构建规则可以从项目目录复制到应用程序的文档目录。

任何见解将不胜感激。

谢谢!

【问题讨论】:

    标签: ios swift sqlite nsdocumentdirectory


    【解决方案1】:

    您需要通过拖动将数据库添加到项目结构中,或者文件->添加文件

    之后在你的代码中你可以这样阅读

    let db = Bundle.main.url(forResource: "File", withExtension: "sqlite")
    

    由于您不能对主包执行任何更新操作,因此您应该在应用程序首次启动时将此文件复制到您的文档文件夹,然后在即将启动时从那里读取它

    【讨论】:

      猜你喜欢
      • 2020-12-07
      • 2016-09-06
      • 2015-04-25
      • 2016-07-29
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 2010-12-15
      • 2021-12-08
      相关资源
      最近更新 更多