2017-04-06 53 views
0

我發現了刷新watchapp UI及其併發症here的流程的很好的描述。這對我很有用,即使有時用戶界面只會在我將應用程序帶到前臺時纔會更新(但這是另一個問題)。刷新基於互聯網連接的watchos應用程序

是我到目前爲止做的是這樣的:

1 - 我安排後臺刷新;

2 - 當調用後臺刷新任務時,我安排一個後臺downloadTask;

3 - 完成後,downloadTask調用其委託方法(didFinishDownloadingTo),在那裏我調用另一種方法更新UI,重新裝入新數據,並計劃快照刷新和另一個後臺刷新。

這幾乎工作正常(與上面提到的ocasional問題)。但我有時把我的手錶放在飛行模式上。這裏發生的是錯誤委託方法被調用,所以我安排另一個應用程序刷新約1小時。如果仍處於飛行模式,它將在一小時內請求另一次刷新,以此類推。

這種方法的問題是,當我關閉飛行模式時,應用程序需要很長時間才能更新其UI,具體取決於下一次更新的安排時間。

有人可以建議一個更好的方法來獲得新的數據,只要有人回到互聯網連接?

回答

0

目前(watchOS 3.2),watchOS中沒有框架可以告訴你設備何時連接到互聯網。但是,您可以在您的iOS應用中利用Reachability framework,並使用WatchConnectivity框架在您的Watch應用刷新其UI時發出信號。