我可以在 Apple Watch 和今天的扩展中使用相同的应用程序组吗?

Can i used same app group in apple watch and today extension?

我曾使用应用程序组与我的 Apple Watch 共享数据,今天还使用了我的应用程序的扩展程序。问题是我可以在今天的扩展中获取该应用程序组数据,但我无法在 Apple Watch 中获取此数据。所以我只想确保我可以使用应用程序组在今天的扩展程序甚至 Apple Watch 中访问它,哪种是与 Apple Watch 共享数据的最佳方式?

我用它来与应用组分享数据

NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.myapp.data"];
    [sharedDefaults setObject:[[NSUserDefaults standardUserDefaults]objectForKey:@"array1"] forKey:@"arrayVisibleCountryList"];
    [sharedDefaults setObject:[[NSUserDefaults standardUserDefaults]objectForKey:@"array2"] forKey:@"arrayBaseCurrency"];
    [sharedDefaults synchronize];

从应用组中检索数据

NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.myapp.data"];
    NSMutableArray *array1=[[sharedDefaults objectForKey:@"array1"]mutableCopy];
    NSMutableArray *array2=[[sharedDefaults objectForKey:@"array2"]mutableCopy];

这只适用于 watchOS 1,当 phone 上的手表扩展 运行 时,并且可以访问 phone 的应用程序组容器。

在 watchOS 2 或更高版本中,无法使用应用组在 phone 和手表之间共享数据。您需要使用 Watch Connectivity 在 phone 和手表之间传输 运行 数据。