我开始研究 iOS 8 扩展,我发现 App Groups 是提供在主机应用和扩展之间传递数据的机制。这种数据共享可以通过 NSUserDefaults、平面文件和核心数据来完成。当您设置应用程序组时,会在应用程序沙箱之外的设备/模拟器上创建一个新目录。可以从主机应用程序和扩展程序访问该目录,并且来自同一帐户/团队的其他应用程序似乎也可以访问此目录。
鉴于这一切,我想知道共享 App Group 目录及其内容的生命周期是什么。我一直找不到任何解释这一点的 Apple 文档。在模拟器上进行的一些经验测试表明,当安装了多个访问应用程序组的应用程序时,当最后一个具有该应用程序组权利的应用程序被删除时,该目录也会被删除。这是我期望看到的。我想确认一下情况就是这样。此外,系统是否有可能在低磁盘条件下清除此位置?
我正在尝试确定将我的应用程序的主要核心数据数据库存储在此应用程序组位置是否“安全”,或者我是否应该在那里制作数据副本。我不希望我的主数据库意外地被系统从我下面清除。
另外,App Group 目录的意图是什么?它们应该仅用于与扩展共享数据,还是用作来自同一开发者帐户/团队的应用程序之间的通用数据共享机制?