簡體   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