在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议您查看一下。