如何在 Objective-C 中的 OS2 中将数据从 Iphone 发送到 Apple Watch
Posted
技术标签:
【中文标题】如何在 Objective-C 中的 OS2 中将数据从 Iphone 发送到 Apple Watch【英文标题】:How to send data from Iphone to Apple Watch in OS2 in Objective-C 【发布时间】:2015-07-02 07:55:59 【问题描述】:我看到similar question 发布了关于如何在 Swift 中来回发送数据的帖子。我在问同样的问题,但在 Objective-C 中。我也看过苹果的transition docs。
我最好使用清晰的示例,而不是讲课材料。因此,如果有人实现了这一点并且不介意分享,那将不胜感激。
【问题讨论】:
【参考方案1】:这是关于 WatchConnectivity 的问答链接:Send messages between ios and WatchOS with WatchConnectivity in watchOS2
我会给你一个例子去 ApplicationContext,还有另外 2 种使用 WatchConnectivity 的消息传递技术。请观看 WWDC2015 会议视频。
首先,您需要在要发送和接收数据的类中遵守 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 上的 WWDC2015 视频真的很棒,我建议你去看看。
【讨论】:
非常有帮助。我正在浏览视频。你能指出我最合适的吗.. 非常感谢 再次感谢,正是我所需要的。 这个网站很有帮助.. 很棒的年轻人。'https://github.com/kristinathai
以上是关于如何在 Objective-C 中的 OS2 中将数据从 Iphone 发送到 Apple Watch的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Objective-C 中将字符串转换为整数? [复制]
如何在 Objective-c 中将 NSDictionary 表示为文字?