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?

0 ответов

Другие вопросы по тегам