在主项目创建App Groups
image.png
image.png
添加
image.png
一般是group.+bundle ID
group.一般不删除
image.png
重复此步骤
image.png
此时勾选你创建的App Groups
image.png
使用方法(以NSUserDefaults为例,我项目中使用的是NSUserDefaults,其他的使用方式自行百度)
需要共享的数据
//此处SuiteName要与创建App Groups勾选的一致
NSUserDefaults *shareDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.xxx.xxx.xxx"];
[shareDefaults setValue:@"value" forKey:@"key"];
[shareDefaults synchronize];
//此处SuiteName要与创建App Groups勾选的一致
NSUserDefaults *shareDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.xxx.xxx.xxx"];
NSString * value = [shareDefaults objectForKey:@"key"];
遇到的问题
1、设置正确,但是读取不出来
target--Build Setting--Code Signing Entitlements
添加对应的entitlements文件
设置成
image.png
同时另外的也需要设置
image.png
如果还没有不能数据共享查看Entitlements文件是否有App Groups
image.png
上面的是没有App Groups
image.png
这个是包含App Groups
主项目和Groups项目Entitlements文件都需要有App Groups