【问题标题】:What is the expected lifecycle of iOS 8 App Group directories?iOS 8 App Group 目录的预期生命周期是什么?
【发布时间】:2014-09-24 20:08:06
【问题描述】:

我开始研究 iOS 8 扩展,我发现应用组是提供用于在主机应用和扩展之间传递数据的机制。这种数据共享可以通过 NSUserDefaults、平面文件和核心数据来完成。当您设置应用程序组时,会在应用程序沙箱之外的设备/模拟器上创建一个新目录。可以从主机应用程序和扩展程序访问该目录,并且来自同一帐户/团队的其他应用程序似乎也可以访问此目录。

鉴于所有这些,我想知道共享 App Group 目录及其内容的生命周期是什么。我一直找不到任何解释这一点的 Apple 文档。在模拟器上进行的一些经验测试表明,当安装了多个访问应用程序组的应用程序时,当最后一个具有该应用程序组权利的应用程序被删除时,该目录也会被删除。这是我期望看到的。我想确认一下情况就是这样。此外,系统是否有可能在低磁盘条件下清除此位置?

我正在尝试确定将我的应用程序的主要核心数据数据库存储在此应用程序组位置是否“安全”,或者我是否应该在那里制作数据副本。我不希望我的主数据库意外地被系统从我下面清除。

另外,App Group 目录的目的是什么?它们应该仅用于与扩展程序共享数据,还是用作来自同一开发者帐户/团队的应用之间的通用数据共享机制?

【问题讨论】:

    标签: ios ios-app-group


    【解决方案1】:

    我也在 Apple Dev 论坛上发布了这个,并从 Apple 开发者关系中的某个人那里得到了答复。他们是这样说的:

    系统是否有可能在低磁盘条件下清除此位置?

    这不会发生。

    我正在尝试确定将我的应用程序的主要核心数据数据库存储在此应用程序组位置是否“安全”,或者我是否应该在那里制作数据副本。

    将核心数据存储放在 App Group 目录中是完全合理的。

    另外,App Group 目录的意图是什么?

    它们的存在是为了让应用套件可以共享数据。我认为最清楚的表达来自 Mac 文档。 “应用沙盒设计指南”说:

    [...] 应用程序可以使用 com.apple.security.application-groups 权利来请求访问由同一开发团队生产的多个应用程序所共有的共享容器。此容器适用于不面向用户的内容,例如共享缓存或数据库。

    Documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 2018-04-15
      相关资源
      最近更新 更多