我正在开发待办事项列表应用程序。在这个应用程序中,我添加了今天的扩展。它用于显示今天的待办事项列表。
这是在应用程序和今日扩展程序之间共享数据的代码。出于测试目的,我在 NSUserDefaults 中添加了唯一的一项。
将数据保存到 NSUserDefaults 的应用代码。
NSUserDefaults *shared = [[NSUserDefaults alloc]initWithSuiteName:@"group.compname.appname"];
[shared setValue:@"Test" forKey:@"test"];
[shared synchronize];
今天从 NSUserDefaults 获取数据的扩展代码
NSUserDefaults *shared = [[NSUserDefaults alloc]initWithSuiteName:@"group.compname.appname"];
NSString *str = [ shared valueForKey:@"test"] ;
NSLog(@" Text = %@", str);
我总是得到“空”值。
最佳答案
听起来您还没有将组添加到权利/能力中。
来自本网站:http://www.shinobicontrols.com/blog/posts/2014/07/21/ios8-day-by-day-day-2-sharing-extension
- 转到应用目标的功能选项卡
- 启用应用组
- 创建一个新的应用程序组,命名为适当的名称。它必须以 group.. 开头。在演示中,该组称为 group.ShareAlike
- 让 Xcode 完成为您创建该组的过程。
关于ios - 无法在应用程序和今日扩展程序之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863024/