Ответ 1
Чтобы прочитать и сохранить из того же набора NSUserDefaults, вам необходимо следующее:
- В главном приложении выберите свой проект в навигаторе проектов.
- Выберите цель своего основного приложения и перейдите на вкладку возможностей.
- Включите группы приложений (они будут взаимодействовать с порталом разработчика, так как он генерирует набор разрешений, соответствующий идентификатор приложения и т.д.).
- Создайте новый контейнер. Согласно справке, он должен начинаться с "group.", Поэтому дайте ему имя, например "group.myapp.test".
- Выберите цель "Расширение сегодня" и повторите этот процесс включения групп приложений. Не создавайте новую, вместо этого выберите эту вновь созданную группу, чтобы указать, что расширение Today является членом группы.
Напишите в свой NSUserDefaults:
// In this example I´m setting FirstLaunch value to true
NSUserDefaults(suiteName: "group.myapp.test")!.setBool(true, forKey: "FirstLaunch")
Читать из NSUserDefaults:
// Getting the value from FirstLaunch
let firstLaunch = NSUserDefaults(suiteName: "group.myapp.test")!.boolForKey("FirstLaunch")
if !firstLaunch {
...
}
Swift 4.x:
Запись:
UserDefaults(suiteName: "group.myapp.test")!.set(true, forKey: "FirstLaunch")
чтения:
UserDefaults(suiteName: "group.myapp.test")!.bool(forKey: "FirstLaunch")