最近在写iOS的 widget, 其中用到和主APP数据共享, 需要设置App groups
细节不讲, 直说问题:
分别在主APP 和 widget 都添加了APP groups 后使用NSUserDefaults共享数据
NSUserDefaults *sharedData = [[NSUserDefaults alloc] initWithSuiteName:@"group.demo.test"];
APP中设置值以后, widget中取不到数据
原因: 在 两个target里 分别查看
build settings -> code signing entitlements
发现 里没有添加正确的entitlements文件
而且, Debug 模式下的entitlements文件中根本没有刚刚添加的app groups
造成了在debug模式,调试时候无法读取共享数据;
解决办法, debug模式和 release模式 都添加 release的entitlements文件
实际原因不明, 仅make一下. 供参考, 欢迎指正.
网友评论