iOS App Groups
2023-01-29 本文已影响0人
唐人街的乞丐
在主项目创建App Groups


添加

一般是group.+bundle ID
group.一般不删除

重复此步骤

此时勾选你创建的App Groups

使用方法(以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文件
设置成

同时另外的也需要设置

如果还没有不能数据共享查看Entitlements文件是否有App Groups

上面的是没有App Groups

这个是包含App Groups
主项目和Groups项目Entitlements文件都需要有App Groups