我發現了刷新watchapp UI及其併發症here的流程的很好的描述。這對我很有用,即使有時用戶界面只會在我將應用程序帶到前臺時纔會更新(但這是另一個問題)。刷新基於互聯網連接的watchos應用程序
是我到目前爲止做的是這樣的:
1 - 我安排後臺刷新;
2 - 當調用後臺刷新任務時,我安排一個後臺downloadTask;
3 - 完成後,downloadTask調用其委託方法(didFinishDownloadingTo
),在那裏我調用另一種方法更新UI,重新裝入新數據,並計劃快照刷新和另一個後臺刷新。
這幾乎工作正常(與上面提到的ocasional問題)。但我有時把我的手錶放在飛行模式上。這裏發生的是錯誤委託方法被調用,所以我安排另一個應用程序刷新約1小時。如果仍處於飛行模式,它將在一小時內請求另一次刷新,以此類推。
這種方法的問題是,當我關閉飛行模式時,應用程序需要很長時間才能更新其UI,具體取決於下一次更新的安排時間。
有人可以建議一個更好的方法來獲得新的數據,只要有人回到互聯網連接?