Watchkit到Watchkit的通讯 # Watchkit扩展

3
我需要将数据从我的手表应用发送到另一个手表应用,是否可能?如果可以,那么有哪些方法可以实现?
我知道如何将数据发送到父级iPhone应用程序并通过[WKInterfaceController openParentApplication:dicData reply:^(NSDictionary *replyInfo, NSError *error)handleWatchKitExtensionRequest调用方法。
-提前致谢。
6个回答

2

就 WatchKit 技术而言,这是不可能的。


1

您是指在同一设备上还是不同的设备上?

如果是在不同的设备上,您可以使用Core Bluetooth。如果在同一设备上,则可以使用Darwin通知,但不能保证任何其他WatchKit扩展同时处于活动状态。

对于后者,请使用CFNotificationCenterAddObserver()CFNotificationCenterPostNotification()CFNotificationCenterGetDarwinNotifyCenter()


1
安全性不支持手表之间的通信。
尝试将数据发送到父级,由父级将数据发送到第二个手表的第二个父级,然后再将数据发送到第二个手表。
手表1 -> 父级1 -> 父级2 -> 手表2
这是一个大的变通办法,但在我看来是唯一可行的方式。

1
我认为使用应用程序组可以做到这一点,否则就没有办法。

1
不,两个手表之间不能直接通信,因为实时配对只能在手表应用程序与iPhone之间进行。您不能使用应用程序组在两个手表之间进行通信。唯一可以实现的替代方案是:
  • 如上所述,使用core bluetooth进行通信

手表1 -> 父母1 -> 父母2 -> 手表2

这种方法有一个限制,即需要始终打开iPhone屏幕以进行通信。

  • 仅从手表应用程序中使用Web服务并根据您的要求在特定时间间隔内刷新它。

0
请查看https://developer.apple.com/reference/watchconnectivity/wcsession 上的“支持使用多个Apple手表进行通信”,然后设置应用程序组。您可能无法互相发送信息,但您肯定可以将它们存储在您的手表的应用程序组中,然后在其他手表上访问该信息。也许可以使用 nsnotificationcenter 或类似的工具来提示其他手表检查更改。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接