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