在我的主应用程序包中,我包含了支持 XPC 服务。应用程序是沙盒的,一切都工作得很好,除了当我从 XPC 服务应用程序调用 [[NSUserDefaults standardUserDefault] setObject:forKey:]
方法和 - Synchronize
方法时,首选项未写入,下次需要时无法检索数据。
我在Apple的文档中没有找到与此问题相关的任何内容,除了沙盒应用程序无法访问其他应用程序的首选项之外。没关系,我不需要。 XPC 服务在 ~/Library/Containers 中有自己的容器,我想它应该能够存储自己的数据。但显然由于某种原因并非如此。
我可能错过了一些东西,但找不到什么。为了使这项工作有效,是否需要做任何特殊的事情(添加一些权利等)?
感谢您的任何提示。
最佳答案
我相信您需要使用组容器来共享首选项,并且我已经使用 RMSharedPreferences 实现了类似的效果(非 UI LSUIElement 应用程序与其传统的首选项应用程序计数部分共享首选项)。 .
关于macos - XPC 服务不保存用户首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24691769/