繁体   English   中英

如何通过存储“回复”块在iOS应用和WatchKit扩展之间进行通信?

[英]How to communicate between an iOS app and the WatchKit extension by storing the “reply” block?

WatchKit中的问题之一是从主应用程序与WatchKit扩展进行通信。 通过发送达尔文通知或使用MMWormhole进行操作的一些方法。

是否可以通过在属性上存储扩展发送给handleWatchKitExtensionRequest的回复块来做到这一点? 就像是:

@property (atomic,copy) void (^watchKitReply)(NSDictionary *);

然后,当应用程序想要向扩展程序发送内容时,它将使用此随时可用的块。

如果扩展程序想与主应用程序通信,它将发送一个新的答复块,该块将存储在属性中。 旧的将被使用和丢弃。

如果没有,为什么不可能呢?

您绝对可以做到这一点。 我会小心,尽管不要每次都watchKitReply属性并创建允许多个reply对象的不同方法。

我们在Watch Extension / iOS App集成中WatchKitRequest是创建一个WatchKitRequest请求集。 然后,将每个答复块转发到执行请求实现的每个WatchKitRequest子类,然后在完成后执行reply块。 从本质上讲,我们正在按照您的建议进行操作,即存储reply块,直到您真正需要调用它为止。 我们存储的reply块与您建议的有所不同。

这种方法对我们非常有效。 希望这有助于您朝正确的方向前进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM