在Objective-C中如何将数据从Iphone发送到OS2中的Apple Watch

我已经看到一个类似的问题 ,如何在Swift中来回发送数据。 我问同样的问题,但在Objective-C。 我也看过苹果的过渡文档 。

我用清晰的例子,而不是演讲材料最好地工作。 所以如果有人已经实现了这一点,并不介意分享,这将是非常感激。


这里有一个关于WatchConnectivity的Q / A的链接: 在watchOS2中用WatchConnectivity在iOS和WatchOS之间发送消息


我将给你一个例子去ApplicationContext,有2个与WatchConnectivity其他消息传递技术。 请观看WWDC2015会议video。

首先,您需要符合要发送和接收来自/到的数据的类中的WCSessionDelegate协议。 例如手表和iPhone。

基本检查之前:(这只是一个例子,实现比这更好)

if ([WCSession isSupported]) { WCSession *session = [WCSession defaultSession]; session.delegate = self; [session activateSession]; NSLog(@"SESSION AVAIBLE"); } //Objective-C if ([[WCSession defaultSession] isReachable]) { NSLog(@"SESSION REACHABLE"); } 

这将从手机发送数据到手表。

 WCSession *session = [WCSession defaultSession]; NSError *error; [session updateApplicationContext:@{@"firstItem": @"item1", @"secondItem":[NSNumber numberWithInt:2]} error:&error]; 

这将从手表上的电话接收数据。

 - (void) session:(nonnull WCSession *)session didReceiveApplicationContext:(nonnull NSDictionary<NSString *,id> *)applicationContext { NSLog(@"%@", applicationContext); item1 = [applicationContext objectForKey:@"firstItem"]; item2 = [[applicationContext objectForKey:@"secondItem"] intValue]; } 

WatchConnectivity上的WWDC2015video非常棒,我build议您查看一下。