【问题标题】:Downloading a Core Data / SQLite Database into an app ?将核心数据/SQLite 数据库下载到应用程序中?
【发布时间】:2014-04-16 20:06:54
【问题描述】:

理论上是否可以将 Core Data 数据库直接下载到应用程序中,然后访问该数据库?

如果是这样,会有哪些格式方面的考虑 - 任何 SQLite 数据库都可以工作还是需要特定的结构?

【问题讨论】:

  • 是的,这可以工作,就像任何其他 SQLite 数据库阅读器一样。每个 SQLite 数据库都有关于其结构的元数据,您可以阅读这些元数据。任何 coredata SQLite 数据库都可以用同样的方式读取。
  • 不,任何 SQLite 数据库都无法工作。 Apple 使用专有的 SQLite 格式。您可以在开发过程中预生成数据库,然后上传到您的服务器。
  • 啊,这是个好主意....

标签: ios objective-c sqlite core-data


【解决方案1】:

Core Data 的数据库结构是封闭的,这意味着您不能也不应该尝试复制它。下载预填充数据库的唯一推荐方法是使用 Core Data。幸运的是,OS X 和 iOS 共享完全相同的结构(今后也会如此)。

处理此问题的推荐方法是为 OS X 编写一个 CLI,为您生成 SQLite 文件。然后,您可以根据需要将该文件下载到您的应用程序中。也建议使用您的应用程序提供预填充的数据库(这通常比下载整个文件更好)。

【讨论】:

    【解决方案2】:

    Marcus Zarra 提到的 CLI 工具的替代方法是创建一个完整的 GUI Mac 应用程序。使用 Cocoa 绑定,这非常简单,并且还会为您的预打包数据库提供可视化编辑器。

    我已经写过这个概念here 并且有一个示例项目on GitHub 包含Mac 和iOS 应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 2013-11-12
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 2011-10-07
      • 2014-01-29
      相关资源
      最近更新 更多