Swift 基于互联网连接刷新watchos应用程序

Swift 基于互联网连接刷新watchos应用程序,swift,swift3,watchkit,watchos-3,Swift,Swift3,Watchkit,Watchos 3,我发现了一个关于刷新watchapp UI及其复杂性的过程的很好的描述。这对我来说是可行的,尽管有时候只有当我真正将应用程序带到前台时,UI才会更新(但这是另一个问题) 到目前为止,我所做的是: 1-我安排后台刷新 2-调用后台刷新任务时,我安排后台下载任务 3-完成后,downloadTask调用其委托方法(didFinishDownloadingTo),在该方法中,我调用另一个方法来更新UI,用新数据重新加载复杂内容,并计划快照刷新和另一次后台刷新 这几乎可以正常工作(对于我上面提到的局部问

我发现了一个关于刷新watchapp UI及其复杂性的过程的很好的描述。这对我来说是可行的,尽管有时候只有当我真正将应用程序带到前台时,UI才会更新(但这是另一个问题)

到目前为止,我所做的是:

1-我安排后台刷新

2-调用后台刷新任务时,我安排后台下载任务

3-完成后,downloadTask调用其委托方法(
didFinishDownloadingTo
),在该方法中,我调用另一个方法来更新UI,用新数据重新加载复杂内容,并计划快照刷新和另一次后台刷新

这几乎可以正常工作(对于我上面提到的局部问题)。但我有时会把手表调到飞行模式。这里发生的是调用了error delegate方法,因此我安排了另一个应用程序刷新约1小时。如果仍处于飞行模式,它将在一小时内请求另一次刷新,依此类推

这种方法的问题是,当我关闭飞行模式时,应用程序需要很长时间来更新其UI,这取决于计划下一次更新的时间

有人能建议一种更好的方法在恢复互联网连接后立即获取新数据吗?

目前(watchOS 3.2)watchOS中没有框架可以告诉您设备何时连接到互联网。但是,您可以利用iOS应用程序中的,并使用WatchConnectivity框架在Watch应用程序刷新其UI时发出信号