2017-04-06 54 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时发出信号。