Episode #254
The Dock
Series: Up to Speed with watchOS

Episode #254
func handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>) {
for task in backgroundTasks {
if let snapshotTask = task as? WKSnapshotRefreshBackgroundTask {
handleSnapshotTask(snapshotTask)
} else {
handleRefreshTask(task)
}
}
}
func handleSnapshotTask(_ snapshotTask : WKSnapshotRefreshBackgroundTask) {
if let order = Order.currentOrder() {
updateSnapshot(status: .Ordered(order, snapshot: true))
snapshotTask.setTaskCompleted(restoredDefaultState: false, estimatedSnapshotExpiration: order.date, userInfo: nil)
} else {
updateSnapshot(status: .None)
snapshotTask.setTaskCompleted(restoredDefaultState: true, estimatedSnapshotExpiration: Date.distantFuture, userInfo: nil)
}
}
let date = currentOrder.deliveryDate
WKExtension.shared().scheduleSnapshotRefresh(withPreferredDate: date, userInfo: nil, scheduledCompletion: { error in
})
This episode uses Watchos 3.