0

我正在开发待办事项列表应用程序。在这个应用程序中,我添加了今天的扩展。它用于显示今天的待办事项列表。

这是在应用程序和今天的扩展程序之间共享数据的代码。出于测试目的,我在 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);

我总是得到“空”值。

4

1 回答 1

1

听起来您还没有将该组添加到权利/功能中。

从这个网站:http ://www.shinobicontrols.com/blog/posts/2014/07/21/ios8-day-by-day-day-2-sharing-extension

  1. 转到应用程序目标的功能选项卡
  2. 启用应用程序组
  3. 创建一个新的应用程序组,命名为适当的东西。它必须以 group.. 开头。在演示中,该组称为 group.ShareAlike
  4. 让 Xcode 为您完成创建此组的过程。
于 2014-11-12T13:11:09.547 回答