繁体   English   中英

如何在iPhone应用程序和applewatch之间共享数据?

[英]How to Share data between iPhone app and applewatch?

关于从iPhone应用程序到苹果手表的共享数据,我遇到了问题。 我尝试下面的代码来分享NSMutablearray到苹果手表,但它无法正常工作。

NSData *encodedObject = [NSKeyedArchiver archivedDataWithRootObject:arrStartScore];
NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.test.StartScore"];
[defaults setObject:encodedObject forKey:@"WatchHomeViewTableList"];
[defaults synchronize];

用于将数据检索到Apple Watch

NSUserDefaults *myDefaults = [[NSUserDefaults alloc]                                 initWithSuiteName:@"group.com.test.StartScoreCheck"];

arrStartScore = [myDefaults objectForKey:@"WatchHomeViewTableList"];
NSLog(@"dict....%@",arrStartScore);

要将数据从手机发送到手表,请使用此代码。

WCSession *session = [WCSession defaultSession];
NSError *error;

[session updateApplicationContext:@{@"message": yourArray} error:&error];

要从手表上的手机接收数据:

 - (void) session:(nonnull WCSession *)session didReceiveApplicationContext:(nonnull NSDictionary<NSString *,NSMutableArray *> *)applicationContext {   
 }

您可以使用didReceiveApplicationContext访问您的数组

  [applicationContext objectForKey:@"message"];

watchOS3在手表和手机上分离了UserDefaults。 AppGroup可以在一个设备中的一个开发人员的应用程序之间共享数据。 要在设备之间传输数据,请使用WatchConnectivity框架。

文档

您可以使用WatchKit Connectivity Framework共享数据。 您可以使用不同的方式进行背景或互动。

通过Apple查看此视频 ,它解释了iPhone和Watch之间通信的所有不同方式。

此外,您可以创建一个单独的手表连接类,并在iOS和WatchOS中使用它。 在设备中建立会话并集成委托方法,您就完成了。 您现在可以在iOS和WatchOS上来回发送和接收消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM