[英]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.