WatchOS 2 has access to CoreData, NSCoding, and NSUserDefaults. Depends on the data you want to save, but these are the best (first) options.
If you intend to use NSUserDefaults, do not use standardUserDefaults , you should use initWithSuiteName: and pass the name of your application group.
You can even make a category / extension for NSUserDefaults to make it easier.
Objective-c
@interface NSUserDefaults (AppGroup) + (instancetype)appGroupDefaults; @end @implementation NSUserDefaults (AppGroup) + (instancetype)appGroupDefaults { static NSUserDefaults *appGroupDefaults = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ appGroupDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"com.whatever.yourappgroupname"]; }); return appGroupDefaults; } @end
Swift
private var _appGroupDefaults = NSUserDefaults(suiteName: "com.whatever.yourappgroupname")! extension NSUserDefaults { public func appGroupDefaults() -> NSUserDefaults { return _appGroupDefaults } }
Lance source share