我想知道在手錶和iOS設備上的WCSession對象上的什麼時候會調用activateSession()。什麼時候調用WCSession對象的activateSession()
在它說的文檔:
始終指定一個代表和調用任何會話相關的方法之前,激活您的會話。會話必須在發送消息或獲取有關連接狀態的信息之前進行配置和激活。
在第一個想到的,我把我的代碼初始化會話:上表側
if (WCSession.isSupported()) {
session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
}
在iOS設備上的viewDidLoad和willActivate。
它的工作原理...但我不認爲這是一個很好的解決方案。 我對應用程序生命週期還不太熟悉,但據我瞭解,每次打開應用程序時都會調用這些應用程序。
每次打開其中一個應用程序時,是否會導致「重新連接」?
哪裏可以放置該代碼的好地方?
實際上,ExtensionDelegate的applicationDidFinishLaunching僅在WatchKit應用程序啓動時調用。當擴展程序正在啓動併發症,通知或瀏覽更新時,它不會被調用。 ExtensionDelegate的init方法是一個更好的地方,因爲它將在所有這些其他情況下被調用。 – ccjensen
哦,是的,你完全正確!謝謝你指出,我沒有想那麼遠。我更新了我的答案。 – joern