我可以在 Apple Watch 和今天的扩展中使用相同的应用程序组吗?
Posted
技术标签:
【中文标题】我可以在 Apple Watch 和今天的扩展中使用相同的应用程序组吗?【英文标题】:Can i used same app group in apple watch and today extension? 【发布时间】:2016-07-02 04:14:10 【问题描述】:我曾使用应用程序组与我的 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];
【问题讨论】:
【参考方案1】:这仅在 watchOS 1 中有效,此时手表扩展程序在手机上运行,并且可以访问手机的应用组容器。
在 watchOS 2 或更高版本中,无法使用应用组在手机和手表之间共享数据。您需要使用Watch Connectivity
在手机和手表之间传输数据。
【讨论】:
我也使用过手表连接,但问题是如果我不打开我的实际应用程序,那么我无法将数据同步到我的苹果手表 可以使用sendMessage
在后台启动ios应用,然后它可以用请求的数据回复手表。
谢谢兄弟让我试试这个,这真的能帮我解决我的问题以上是关于我可以在 Apple Watch 和今天的扩展中使用相同的应用程序组吗?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 iPhone 无法从 Apple Watch 获取心率数据,但手表扩展程序却可以?