4 database sqlite ios8-extension
我遵循了本教程并添加了我的数据库。我确实针对我的应用程序和扩展程序。从我的应用程序中,我可以对数据库执行 SELECT、INSERT、DELETE 和 UPDATE。我希望我的应用程序和扩展程序共享同一个数据库。所以我在我的应用程序中添加信息,然后在扩展程序中显示该信息。
由于它现在工作(我已经测试过),该应用程序有一个数据库实例,而扩展程序有一个实例。我只添加了一个数据库。任何人都知道为什么我的数据库有两个实例以及为什么我无法访问从扩展程序中的应用程序添加的数据?
应用程序及其扩展程序是独立的进程,因此 iOS 沙盒通常意味着它们不能接触彼此的文件。您引用的页面似乎没有以任何方式解决这个问题。
如果您想在您的应用程序和扩展程序中使用相同的 SQLite 文件,您需要为它们配置“应用程序组”权利。这会建立一个他们都可以访问的新目录,然后您将 SQLite 文件放在那里。您可以使用 上的containerURLForSecurityApplicationGroupIdentifier:
方法找到此目录NSFileManager
。
我不清楚您使用的 GitHub 项目是否会使用应用程序组。但是,没有其他方法可以共享您的 SQLite 文件。如果该项目不使用应用程序组,您需要修复它以使其使用或停止使用它。
归档时间: |
|
查看次数: |
2456 次 |
最近记录: |