我正在编写一个将提交到 Mac App Store 的应用程序。作为应用程序的一部分,有一个帮助程序/后台应用程序。我的主应用程序需要能够将持久设置写入 NSUserDefaults。我的帮助程序应用程序可能在后台运行,需要收到这些更改的通知,然后能够读取新的 NSUserDefaults,以便它可以适本地配置自身。
我不太担心它的通知部分。我看到 NSUserDefaults 有一个名为 NSUserDefaultsDidChangeNotification 的通知,该通知在持久默认值更改时发送。如果这不起作用,我总是可以使用分布式通知。
我似乎无法弄清楚如何使主应用程序的默认设置可供后台/帮助应用程序访问。我已经摆弄了 NSUserDefaults 的以下方法,但没有任何进展。
- (void)addSuiteNamed:(NSString *)suiteName
- (void)setPersistentDomain:(NSDictionary *)domain forName:(NSString *)domainName
有人可以向我展示主应用程序和有效的后台/帮助应用程序的代码吗?提前致谢。
最佳答案
您可以使用addSuiteNamed: NSUserDefaults 的方法。
- (void)addSuiteNamed:(NSString *)suiteName
这仅适用于读取设置,不适用于写入。
关于objective-c - 如何在 OS X 中的两个应用程序之间共享 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8182417/