美文网首页程序猿的人文与技术知识总结
解决[User Defaults] Failed to read

解决[User Defaults] Failed to read

作者: who_young | 来源:发表于2016-10-20 17:49 被阅读6804次

    在做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的差异导致了上述错误

    相关文章

      网友评论

      • 敌敌味丶:我也遇到同样的情况,不过我的觉得是存入了一个不存在的空数据
      • Roct:手机重启就可以了...
      • 名字比较烦:楼主,我是用的alloc方法,可是还是报这个错,知道什么原因吗?
        who_young:@名字比较烦 那就爱莫能助了:pensive:
        名字比较烦:@who_young 搜了,目前还没找到原因
        who_young:@名字比较烦 我遇到的是这种情况,其他情况的我倒没遇到。建议去Stack OverFlow搜一下
      • 天闊:可是我 代码里并没有[[NSUserDefaults alloc] initWithSuiteName 也有那个报错,卸载了重新装有消失了
        who_young:向app group里写数据正确的写法是:[[NSUserDefaults alloc] initWithSuiteName ,至于你卸载后重装就不报错了,我也想不明白是什么原因

      本文标题:解决[User Defaults] Failed to read

      本文链接:https://www.haomeiwen.com/subject/mgofuttx.html