gpt4 book ai didi

database - 在应用程序和扩展程序之间共享 sqlite 数据库

转载 作者:搜寻专家 更新时间:2023-10-30 20:09:12 24 4
gpt4 key购买 nike

我关注了this教程并添加了我的数据库。我确实同时针对我的应用程序和我的扩展程序。从我的应用程序中,我可以对数据库进行选择、插入、删除和更新。我希望我的应用程序和扩展程序共享同一个数据库。所以我在我的应用程序中添加信息,然后在扩展程序中显示该信息。

因为它现在可以工作(我已经测试过),应用程序有一个数据库实例,扩展程序有一个实例。我只添加了一个数据库。任何人都知道为什么我有两个数据库实例以及为什么我无法访问从扩展中的应用程序添加的数据吗?

最佳答案

应用程序及其扩展程序是独立的进程,因此 iOS 沙盒通常意味着它们不能接触彼此的文件。您引用的页面似乎没有以任何方式解决这个问题。

如果你想在你的应用程序和扩展中使用相同的 SQLite 文件,你需要为它们配置“应用程序组”授权。这会设置一个他们都可以访问的新目录,然后将 SQLite 文件放在那里。您可以使用 NSFileManager 上的 containerURLForSecurityApplicationGroupIdentifier: 方法找到此目录。

我不清楚您使用的 GitHub 项目是否会使用应用程序组。但是,没有其他方法可以共享您的 SQLite 文件。如果该项目不使用应用程序组,您将需要修复它以便它使用或停止使用它。

关于database - 在应用程序和扩展程序之间共享 sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156107/

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