解决[User Defaults] Failed to read values in CFPrefsPlistSource

在做iOS Extension时,当你试图向APP Group写入数据,调试时可能会报以下错误:

[User Defaults] Failed to read values in CFPrefsPlistSource<0x1700f8380> (Domain: group.com.company.App, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null)): Using kCFPreferencesAnyUser with a container is only allowed for System Containers

出现这个错误,很可能是因为疏忽写下了以下代码:

[[NSUserDefaults standardUserDefaults] initWithSuiteName:@"group.xxx.com"];

因为这个方法重置了你的默认的沙盒。而APP Group的沙盒获取方法为:

[[NSUserDefaults alloc] initWithSuiteName:@"group.xxx.com"];

正是因为standardUserDefaultsalloc的差异导致了上述错误

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在 macOS 上会遇到一个问题:不同进程之间共享 NSUserDefaults 的数据。 NSUserDefau...
    SMThree阅读 5,388评论 1 3
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,387评论 30 472
  • 有时候觉得世上没有什么冷漠的不好相处的人,只是不善表达和各种人格缺陷罢了
    心不尘封阅读 1,137评论 0 0
  • 作为汉语教师的我,在开发游戏这条路上做着从无止境的努力。新的游戏要么想不出来,要么操作要求很高。想来想去,试一试杀...
    紫蒲溪溪主阅读 3,728评论 14 5
  • 能力上涨的速度,赶不上房价上涨的速度,或许这就是对买房无望的解读。 我很喜欢这张照片,很美,我虽然在这里工作,但依...
    我是潇涵阅读 1,807评论 0 0