widget(NCWidgetProviding类)可以与开放的App iOS交互吗?

时间:2015-03-19 11:16:38

标签: ios swift widget

我想为iOS开发一个小部件。 情况是: - 应用程序打开并每秒计算一些“X”数据。 行为:

  • 小部件读取“X”数据更新并显示它。

小工具和iOS应用程序是两个分开的世界?

谢谢

安德烈

1 个答案:

答案 0 :(得分:1)

那么你想要做的就是将主应用程序中的计算数据传递给你的小部件。很简单,只需使用AppGroups和NSUserDefaults就可以与您的小部件共享您需要的数据,如下所示:

计算您的数据,然后将其保存到您应用中的NSUserDefaults,如下所示:

NSUserDefaults *shared = [[NSUserDefaults alloc] initWithSuiteName:@"group.yougroup"];
[shared setObject:object forKey:@"yourkey"];
[shared synchronize];

要从窗口小部件中的NSUserDefaults读取数据,请执行以下操作:

NSUserDefaults *shared = [[NSUserDefaults alloc] initWithSuiteName:@"group.yougroup"];
id value = [shared valueForKey:@"yourkey"];

您还需要在应用和窗口小部件中设置AppGroup才能访问相同的数据,请按照本指南执行此操作:http://tapadoo.com/2014/sharing-nsuserdefaults-between-your-app-and-a-today-extension-on-ios-8/