我正在编写一个将提交到Mac App Store的应用程序。作为应用程序的一部分,有一个帮助程序/后台应用程序。我的主应用程序需要能够将持久性设置写入NSUserDefaults。我的帮助应用程序(可能在后台运行)需要通知这些更改,然后才能读取新的NSUserDefaults,以便它可以自行配置。
它的通知部分我并不太担心。我看到NSUserDefaults有一个名为NSUserDefaultsDidChangeNotification的通知,当持久默认值发生变化时会发送该通知。如果这不起作用,我总是可以使用分布式通知。
我似乎无法弄清楚如何使主应用程序的默认设置变得可供后台/帮助应用程序访问。我已经摆弄了以下NSUserDefaults的方法,但我没有到达任何地方。
- (void)addSuiteNamed:(NSString *)suiteName
- (void)setPersistentDomain:(NSDictionary *)domain forName:(NSString *)domainName
有人可以告诉我主要应用程序和后台/助手应用程序的代码吗?提前谢谢。
答案 0 :(得分:1)
您可以使用NSUserDefaults的addSuiteNamed:方法。
- (void)addSuiteNamed:(NSString *)suiteName
这仅适用于阅读设置,而不适用于写作。