如何在 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 中将 int 转换为字节?

如何在 Objective-C 中将值附加到数组

如何在 Objective-c 中将 NSDictionary 表示为文字?

如何在 Objective-C 中将照片分享到 Facebook?

如何在Objective-C中将孩子分配给父母?