Settings.bundle не уважает группу приложений для общих NSUserDefaults на tvOS
У меня есть приложение tvOS с сопутствующим расширением верхней полки.
Чтобы основное приложение и расширение могли использовать UserDefaults, необходимо создать группу приложений с уникальным идентификатором формы. group.com.organisation.app.identifier
и не открывать UserDefaults.standard
но вместо этого укажите имя группы приложений при открытии UserDefaults, например let defaults = UserDefaults(suiteName: "group.com.organisation.app.AppGroupTest1")
,
Это прекрасно работает для обмена настройками по умолчанию между приложением и его расширением, но добавление файла Settings.bundle, чтобы настройки по умолчанию могли быть установлены панелью системных настроек, работать не будет.
В рекомендациях Apple говорится, что Root.plist файла Settings.bundle должен содержать ключ. ApplicationGroupContainerIdentifier
установить тот же идентификатор группы приложения, который используется приложением, но при тестировании этого даже с самой минимальной настройкой приложения идентификатор контейнера группы не учитывается с помощью Settings.bundle, и все настройки, выполненные с помощью Settings.bundle, заканчиваются на Вместо этого UserDefaults.standard.
Я попытался реализовать тот же самый минимальный проект app+bundle, что и проект iOS, и настройки, как и ожидалось, были перенесены в UserDefaults группы приложений. Сталкивался ли я с ошибкой в tvOS при реализации пакетов настроек или есть недодокументированная разница между реализацией в iOS и tvOS?