用户默认值无法读取 CFPrefsPlistSource 中的值

Nel*_*y v 7 objective-c nsuserdefaults appgroups

我有一个消息应用程序,当我收到包含新消息的 APN 时,我使用应用程序扩展来查找联系信息。我在 NSUserDefaults 的帮助下通过应用程序组交换保存在应用程序中的地址簿联系人信息。

最近我不断收到以下错误:

[用户默认值] 无法读取 CFPrefsPlistSource 中的值(域:group.com.xxxx.xxxx,用户:kCFPreferencesAnyUser,ByHost:是,容器:(空),内容需要刷新:是):仅将 kCFPreferencesAnyUser 与容器一起使用允许系统容器,与 cfprefsd 分离

这有时会在我的应用程序中返回空的 NSUserDefaults 并使应用程序表现得像第一次使用一样。我查看了其他链接,特别是这个:无法读取 CFPrefsPlistSource iOS 10 中的值

建议的解决方案都没有解决我的问题。有人知道我应该如何继续吗?

car*_*ama -1

我将此答案添加到类似的问题:无法读取 CFPrefsPlistSource iOS 10 中的值

那里还有其他事情可以尝试。

我的问题最终是我没有意识到您的 MacOS 应用程序组和 iOS 应用程序组必须位于不同的目标上。MacOS 需要 IDMYTEAMID在开头就正确,iOS 也需要group.group.如果目标上有 iOS 任何内容,Xcode 15 会自动将数字前导应用组 id 更正为前导应用组 id。您不能只#if os(macOS)在代码中选择您想要的目标,它们必须是具有单独权利文件的单独目标