当WKExtension.scheduleBackgroundRefresh应该调用scheduledCompletion处理程序?

时间:2016-12-20 09:06:45

标签: swift3 watch-os-3 wkrefreshbackgroundtask

我正在尝试使用这样的行安排后台任务:

WKExtension.shared().scheduleBackgroundRefresh(withPreferredDate: Date(timeIntervalSinceNow: TimeInterval(5) * 60), userInfo: nil, scheduledCompletion: self.scheduledCompletion)

,其中

func scheduledCompletion(error: Error?) {
        if error == nil { print("successfully scheduled application background refresh") }
        else { print("error scheduling background refresh, error: \(error)") }
}

根据documentation

  

scheduledCompletion系统在调用之后调用的块   后台应用刷新任务已完成。

但由于未知原因,在后台刷新任务正在预定之后,它会被直接调用。在正确的时间调用后台刷新任务,然后在此之后不调用scheduledCompletion

这是文档中的错误,WatchKit中的错误还是我做错了什么?

1 个答案:

答案 0 :(得分:3)

尽管有文档描述,:NEW将在任务安排时进行。它在WWDC16 Keeping Your Watch App Up to Date会议期间于11:23提到:

enter image description here