WKSnapshotRefreshBackgroundTask
A background task used to update your app’s user interface in preparation for a snapshot.
Declaration
class WKSnapshotRefreshBackgroundTaskMentioned in
Overview
Using the methods of WKSnapshotRefreshBackgroundTask, you can push, pop, or present other interface controllers, and then update the content of the desired interface controller. The system automatically takes a snapshot of your user interface as soon as this task completes.
Don’t subclass or create instances of this class. Instead, schedule a background snapshot refresh task by calling scheduleSnapshotRefresh(withPreferredDate:userInfo:scheduledCompletion:). When the system triggers this task, it launches your app in the background, instantiates a WKSnapshotRefreshBackgroundTask object, and passes the task object to your app delegate’s handle(_:) method.
Background snapshot tasks are budgeted. In general, the system performs approximately one task per hour for each app in the dock (including the most recently used app). This budget is shared among all apps on the dock. The system performs multiple tasks an hour for each app with a complication on the active watch face. This budget is shared among all complications on the watch face. After you exhaust the budget, the system delays your requests until more time becomes available.
The system automatically schedules background snapshot request tasks when:
Your device starts up
Your app updates the complication timeline
The user interacts with one of the apps notifications
The app transitions from the foreground to the background
One hour passes after the user’s last interaction with the app, then the
returnToGlanceableUIproperty is set to true
These requests don’t cancel or replace any of your scheduled requests.
Topics
Completing the background task
Instance properties
See Also
Background tasks
Using background tasksPreparing to take your watchOS app’s snapshotWKApplicationRefreshBackgroundTaskWKURLSessionRefreshBackgroundTaskWKWatchConnectivityRefreshBackgroundTaskWKBluetoothAlertRefreshBackgroundTaskWKIntentDidRunRefreshBackgroundTaskWKRelevantShortcutRefreshBackgroundTaskWKRefreshBackgroundTask