Cannot access NSUserDefaults using app groups one to another Cannot access NSUserDefaults using app groups one to another xcode xcode

Cannot access NSUserDefaults using app groups one to another


To read and save from the same set of NSUserDefaults you need to the the following:

  1. In your main app, select your project in the project navigator.
  2. Select your main app target and choose the capabilities tab.
  3. Switch on App Groups (this will communicate with the developer portal, as it is generating a set of entitlements, and relevant App Id and so forth).
  4. Create a new container. According to the help, it must start with “group.”, so give it a name like “group.myapp.test”.
  5. Select your Today Extension target and repeat this process of switching on app groups. Don’t create a new one, rather select this newly created group to signify that the Today Extension is a member of the group.

Write to your NSUserDefaults:

// In this example I´m setting FirstLaunch value to true NSUserDefaults(suiteName: "group.myapp.test")!.setBool(true, forKey: "FirstLaunch")

Read from NSUserDefaults:

// Getting the value from FirstLaunchlet firstLaunch = NSUserDefaults(suiteName: "group.myapp.test")!.boolForKey("FirstLaunch")if !firstLaunch  {   ...}

Swift 4.x:

Write:

UserDefaults(suiteName: "group.myapp.test")!.set(true, forKey: "FirstLaunch")

Read:

UserDefaults(suiteName: "group.myapp.test")!.bool(forKey: "FirstLaunch")