Settings.bundle不尊重tvOS上共享NSUserDefaults的应用程序组

时间:2017-06-20 09:45:10

标签: nsuserdefaults tvos settings.bundle ios-app-group tvos10

我有一个带有topshelf扩展名的tvOS应用程序。

对于主应用和分享UserDefaults的扩展程序,有必要创建一个应用程序组,其中包含group.com.organisation.app.identifier形式的唯一标识符,而不是打开UserDefaults.standard,而是提供应用程序组名称打开UserDefaults时,例如let defaults = UserDefaults(suiteName: "group.com.organisation.app.AppGroupTest1")

这适用于在应用程序及其扩展程序之间共享默认设置,但添加一个Settings.bundle文件以便系统设置面板可以设置默认设置将不起作用。

Apple的指南规定,Settings.bundle的Root.plist必须包含设置为应用程序使用的相同应用程序组标识符的密钥ApplicationGroupContainerIdentifier,但即使使用最小的测试也是如此应用程序设置,Settings.bundle不遵守组容器标识符,而Settings.bundle所做的所有设置都以UserDefaults.standard结束。

我尝试将相同的最小app + bundle项目实现为iOS项目,并且设置会按预期传播到应用程序组的UserDefaults中。我是否在设置包的实现中遇到了tvOS错误,或者iOS和tvOS中的实现之间是否存在未记录的差异?

0 个答案:

没有答案