Где хранятся данные UserDefaults при совместном использовании с приложением и расширением?

Я создал приложение, которое использует «UserDefaults» для хранения данных. Я использую возможность групп приложений для обмена данными между хост-приложением и расширением. Где я могу увидеть хранящиеся в нем данные?

При использовании UserDefaults по умолчанию (UserDefaults.standard) я могу видеть данные, хранящиеся в «Библиотеке -> Настройки -> appbundlename.plist.

Приложение отображает данные, даже когда я убиваю его из фона (данные сохраняются)

let sharedDefaults = UserDefaults(suiteName: ListManager.GroupId)

person subin272    schedule 15.11.2018    source источник


Ответы (1)


let groupPath = FileManager().containerURL(forSecurityApplicationGroupIdentifier: ListManager.GroupId)!.appendingPathComponent("Library/Preferences")

Вы получите путь к общим настройкам группы по умолчанию. Просто не забудьте включить возможности групп приложений для своего приложения (и расширений). В противном случае параметры вашей группы по умолчанию просто появятся в том же каталоге, что и стандартные пользовательские значения по умолчанию (и, таким образом, сохранятся между запусками), но будут недоступны для других ваших приложений или расширений.

person toastersocks    schedule 06.12.2018