卸载应用程序不会删除应用程序组数据。我是否需要手动删除应用程序组容器及其内容?

20
我创建了一个在iOS 8中首次引入的“Today Extension”。为了在“Today Extension”和其“container App”之间共享数据,我定义了一个“app group”,并将它们绑定到该组。(实际上,我还添加了一个嵌入式框架,以便在两个方面重用代码。)
这种方法的详细信息在苹果文档中有描述。
我创建了一些核心数据模型,并将其存储为sqlite格式在组容器中。然后一切都按照我的想法进行。
但是,当我卸载容器应用程序时,我的iPhone仍然存在共享容器及其内容。我认为当app组的最后一个成员被卸载时,该容器应该自动删除。在我的情况下,app组的成员仅随单个应用程序一起提供,因此卸载此应用程序应该清除共享容器。
我错了吗?
附注:作为用户,我找不到删除此共享容器的方法。只有拥有访问app-group权限的开发人员才能通过编程删除此容器。
2个回答

7
在 iOS8 beta 4 中,当属于同一组的最后一个应用被卸载时,App组容器会自动删除。因此,这只是一个已经被苹果修复的错误。

2
并不是所有问题都能够在Xcode 6 GM中得到解决。在模拟器上删除应用程序并不能删除其应用容器数据。 - bauerMusic
4
有没有任何文件可以支持这个说法? - Jason
在此处提到 https://developer.apple.com/documentation/foundation/nsfilemanager/1412643-containerurlforsecurityapplicati?language=objc 底部。 - yageek

0

正如containerURLForSecurityApplicationGroupIdentifier:文档中所述(行为在macOS或iOS上不同)

与macOS不同的是,当给定应用程序组中的所有应用程序从设备中删除时,系统会检测到此条件并删除相应的组目录。

因此,你的问题的答案是否定的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接