如何将一些消息或字符串从 iPhone 设备传递到配对的 Apple Watch
Posted
技术标签:
【中文标题】如何将一些消息或字符串从 iPhone 设备传递到配对的 Apple Watch【英文标题】:how to pass some message or string from iphone device to paired apple watch 【发布时间】:2015-01-09 03:37:16 【问题描述】:我想知道如何将特定消息或字符串从我的 iPhone 设备传递到配对的 iWatch。我真的很想知道从开发的角度来看这是如何处理的。是否有任何特定的 WKInterfaceController 方法或 API 将信息从 iPhone 传递到 iWatch?
我在开发者论坛上读到 openParentApplication:reply: 从 iWatch 通知 iPhone 应用程序,而 application:handleWatchKitExtensionRequest:reply 处理 iPhone 上的特定通知请求。但我想要反过来。
比方说,我有一个带有 UITextField 和 UIButton 的 iPhone 应用程序故事板场景。用户输入“你好!”在文本字段上并单击按钮。现在我在同一个项目中有一个手表套件扩展,带有一个 iwatch 故事板。这个故事板场景有一个“WKInterfaceLabel”。我想让我的 iPhone 控制器与 WKInterfaceController 交互,以便在 iphone stroyboard 上输入的消息(在本例中为“你好!”)可以传递给 iWatch 控制器并显示在 iWatch 上。
【问题讨论】:
【参考方案1】:为了从 iPhone 与您的手表进行通信,您需要使用应用程序组和 darwin 通知。您可以使用MMWormhole
(available here) 来执行此操作。
【讨论】:
虫洞似乎提供了所要求的功能。我不明白它是如何工作的。如果苹果无论如何都不提供打电话给手表套件。虫洞是如何工作的?我猜它必须为消息轮询某种存储,因为它依赖于应用程序组。当然,这是一种非常低效的方法。 它使用darwin通知中心,允许在活动进程之间执行IPC 我现在对其进行了更多研究,并了解 wormwhole 是 darwin 通知的包装器。不涉及投票。我在某人的博客文章中读到了这一点,他担心苹果可能不再允许达尔文通知这样做了。 This 是帖子。位提到达尔文通知在底部。关于此目的达尔文通知的安全性有什么想法吗? 在这个帖子的第一篇文章中:devforums.apple.com/thread/256667?start=0&tstart=0 他们提到了 Darin 通知中心,所以我想它是相当安全的。【参考方案2】:MMWormhole 将完成所需的工作。它使用 darwin 通知中心在应用程序及其扩展程序之间进行通信。
只需使用 CocoaPods 安装它,或将 MMWormhole.h
和 MMWormhole.m
添加到您的项目中。
希望这会有所帮助。
【讨论】:
以上是关于如何将一些消息或字符串从 iPhone 设备传递到配对的 Apple Watch的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 Firebase 云消息传递 (FCM) 直接从设备将 PushNotifications 发送到特殊的 UDID?