gpt4 book ai didi

ios - iOS中不同位置的商店数据库有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:07 25 4
gpt4 key购买 nike

我正在使用 SQLite.swift。在文档中,数据库的路径是:

let path = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true
).first!

但我想导入和使用现有数据库,所以我将现有数据库拖到我的键盘扩展文件夹中,并使用以下路径创建连接:

let path = NSBundle.mainBundle().pathForResource("db", ofType:"sqlite3")

所以,我注意到第一种方式,数据库将存储在 /Users/*/Library/Developer/CoreSimulator/Devices/8B1DB861-AA3F-446F-A559-D4727CDB9285/data/Containers/数据/PluginKitPlugin/0BC647E4-26F3-4A1F-8271-CC73C96FD197/Documents

第二种方式,数据库将存储在应用程序中。

/Users/*/Library/Developer/CoreSimulator/Devices/8B1DB861-AA3F-446F-A559-D4727CDB9285/data/Containers/Bundle/Application/E5D9514C-859A-4D4D-A771-A8CE9CDCD3E7/AppName.app/PlugIns/AppNameExt.appex

这两个位置有什么不同?第二种方式可能会增加应用程序的大小,因为它包含数据库?如果我想使用现有数据库将我的应用存档/提交到 AppStore,这是唯一的方法吗?

最佳答案

主要区别在于将文件存储在文档文件夹中意味着您可以写入(更新)它,这对于数据库文件来说非常重要。您无法写入应用程序包中的文件。

在应用程序中使用数据库的常用模式是:

  1. 在开发过程中创建一个预置数据库,并在构建过程中将其复制到应用程序包中。
  2. 运行时,检查文档文件夹中的数据库文件是否存在并且是最新的。
  3. 如果没有,请从应用程序包中复制它。
  4. 打开文档文件夹中的数据库并根据需要进行读/写。

关于ios - iOS中不同位置的商店数据库有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34609746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com