WatchKit provides the UI and app lifecycle infrastructure for watchOS apps, built around interface controllers, gesture handling, and device features. You drive the interface with classes such as WKInterfaceButton, WKInterfaceActivityRing, and WKImage, respond to user input through gesture recognizers like WKTapGestureRecognizer, WKLongPressGestureRecognizer, and WKSwipeGestureRecognizer, and read Digital Crown rotation through WKCrownSequencer and its WKCrownDelegate. The framework manages background execution with WKRefreshBackgroundTask subclasses—including WKSnapshotRefreshBackgroundTask and WKURLSessionRefreshBackgroundTask—and supports extended foreground work through WKExtendedRuntimeSession. It also offers audio playback via WKAudioFilePlayer and WKAudioFileQueuePlayer, and alerts through WKAlertAction and WKAlertActionStyle.
Interface Objects 4
The base classes and core building blocks that make up a watchOS interface.
- ClWKInterfaceObjectwatchOS 2.0+The base class for all objects that appear in a watchOS interface.
- ClWKImagewatchOS 2.0+An object that represents an image you can display or animate in a WatchKit interface.
- PrWKImageAnimatableA protocol that defines methods for starting and stopping image animations.
- ClWKAccessibilityImageRegionwatchOS 2.0+An object that describes an accessible region within an image for assistive technologies.
Interface Controls 15
Onscreen controls and views you arrange to build a watchOS app's user interface.
- ClWKInterfaceButtonwatchOS 2.0+An interface object that responds to taps and triggers an action.
- ClWKInterfaceLabelwatchOS 2.0+An interface object that displays a string of static text.
- ClWKInterfaceImagewatchOS 2.0+An interface object that displays a single image or animated image sequence.
- ClWKInterfaceGroupwatchOS 2.0+An interface object that groups and arranges other interface objects as a container.
- ClWKInterfaceSeparatorwatchOS 2.0+An interface object that draws a visual divider between other objects.
- ClWKInterfaceSliderwatchOS 2.0+An interface object that lets the user select a value from a continuous range.
- ClWKInterfaceSwitchwatchOS 2.0+An interface object that presents a toggle for an on or off state.
- ClWKInterfaceTablewatchOS 2.0+An interface object that displays rows of content in a scrolling list.
- ClWKInterfaceTextFieldwatchOS 6.0+An interface object that accepts text input from the user.
- ClWKInterfaceDatewatchOS 2.0+An interface object that displays the current date and time.
- ClWKInterfaceTimerwatchOS 2.0+An interface object that displays and updates a countdown or count-up timer.
- ClWKInterfaceActivityRingwatchOS 2.2+An interface object that displays Activity ring data from HealthKit.
- ClWKInterfaceVolumeControlwatchOS 5.0+An interface object that lets the user adjust system or media volume.
- ClWKInterfaceAuthorizationAppleIDButtonwatchOS 6.0+An interface object that presents a Sign in with Apple button.
- ClWKInterfacePaymentButtonwatchOS 3.0+An interface object that presents an Apple Pay payment button.
Pickers and Specialized Views 8
Controls for selecting items and views that embed maps, media, and rendered scenes.
- ClWKInterfacePickerwatchOS 2.0+An interface object that lets the user choose a value using the Digital Crown.
- ClWKPickerItemwatchOS 2.0+An object that represents a single selectable item in a picker.
- ClWKInterfaceMapwatchOS 2.0+An interface object that displays a static map image with annotations.
- ClWKInterfaceMoviewatchOS 2.0+An interface object that presents a video for full-screen playback.
- ClWKInterfaceInlineMoviewatchOS 3.0+An interface object that plays a video inline within the interface.
- ClWKInterfaceHMCamerawatchOS 3.0+An interface object that displays a snapshot from a HomeKit camera.
- ClWKInterfaceSCNScenewatchOS 3.0+An interface object that renders a SceneKit scene.
- ClWKInterfaceSKScenewatchOS 3.0+An interface object that renders a SpriteKit scene.
Gesture Recognition 7
Recognizers that detect taps, presses, swipes, and pans on interface objects.
- ClWKGestureRecognizerwatchOS 3.0+The abstract base class for objects that detect gestures on interface objects.
- ClWKTapGestureRecognizerwatchOS 3.0+A gesture recognizer that detects single or multiple taps.
- ClWKLongPressGestureRecognizerwatchOS 3.0+A gesture recognizer that detects press-and-hold gestures.
- ClWKSwipeGestureRecognizerwatchOS 3.0+A gesture recognizer that detects swipes in one or more directions.
- ClWKPanGestureRecognizerwatchOS 3.0+A gesture recognizer that detects dragging movements.
- EnWKGestureRecognizerStatewatchOS 3.0+Constants that describe the current state of a gesture recognizer.
- StWKSwipeGestureRecognizerDirectionwatchOS 3.0+Constants that specify the directions a swipe gesture recognizer detects.
Digital Crown 2
Types for tracking Digital Crown rotation and responding to crown input.
- ClWKCrownSequencerwatchOS 3.0+An object that tracks and reports rotation of the Digital Crown.
- PrWKCrownDelegatewatchOS 3.0+A protocol that delivers Digital Crown rotation events to your app.
Audio Playback 7
Players and items for playing audio files individually or as a queue.
- ClWKAudioFilePlayerAn object that plays a single audio file on Apple Watch.
- ClWKAudioFileQueuePlayer@class WKAudioFileQueuePlayer
- ClWKAudioFilePlayerItem@class WKAudioFilePlayer
- ClWKAudioFileAsset@class WKAudioFileAsset
- EnWKAudioFilePlayerStatusConstants that describe the playback status of an audio file player.
- EnWKAudioFilePlayerItemStatusConstants that describe the readiness status of an audio file player item.
- EnWKAudioRecorderPresetwatchOS 2.0+Constants that specify the quality preset used when recording audio.
Alerts and Actions 3
Types for presenting alerts and configuring their action buttons.
- ClWKAlertActionwatchOS 2.0+An object that represents a button and action in an alert.
- EnWKAlertActionStylewatchOS 2.0+Constants that specify the visual style of an alert action button.
- EnWKAlertControllerStylewatchOS 2.0+Constants that specify the presentation style of an alert controller.
Background Tasks 10
Task classes that represent the different kinds of background work watchOS schedules for an app.
- ClWKRefreshBackgroundTaskwatchOS 3.0+The base class for background tasks the system schedules for a watchOS app.
- ClWKApplicationRefreshBackgroundTaskwatchOS 3.0+A background task that gives the app time to update its content periodically.
- ClWKSnapshotRefreshBackgroundTaskwatchOS 3.0+A background task that prompts the app to update its dock snapshot.
- ClWKURLSessionRefreshBackgroundTaskwatchOS 3.0+A background task that handles completion of a background URL session.
- ClWKWatchConnectivityRefreshBackgroundTaskwatchOS 3.0+A background task that handles incoming Watch Connectivity data.
- ClWKRelevantShortcutRefreshBackgroundTaskwatchOS 5.0+A background task that lets the app donate relevant Siri shortcuts.
- ClWKIntentDidRunRefreshBackgroundTaskwatchOS 5.0+A background task that runs after an intent has been handled.
- ClWKBluetoothAlertRefreshBackgroundTaskwatchOS 9.0+Updates from Bluetooth are available to the application.
- EnWKSnapshotReasonwatchOS 4.0+Constants that describe why the system requested a dock snapshot.
- EnWKBackgroundFetchResultwatchOS 6.0+Constants that report the outcome of a background fetch operation.
Extended Runtime Sessions 6
Types that let an app continue running in the foreground for specific extended-runtime use cases.
- ClWKExtendedRuntimeSessionwatchOS 6.0+An object that lets an app continue running in the foreground for an extended period.
- PrWKExtendedRuntimeSessionDelegatewatchOS 6.0+A protocol that delivers lifecycle events for an extended runtime session.
- EnWKExtendedRuntimeSessionStatewatchOS 6.0+Defines the potential states the session can be in
- EnWKExtendedRuntimeSessionInvalidationReasonwatchOS 6.0+Defines the reasons for which a session may become invalid.
- EnWKExtendedRuntimeSessionErrorCodewatchOS 6.0+Constants that identify errors related to extended runtime sessions.
- EnWKExtendedRuntimeSessionAutoLaunchAuthorizationStatuswatchOS 9.0+Constants that describe an app's authorization to auto-launch an extended runtime session.
Device Information 6
Access to hardware details, wrist placement, water resistance, and haptic feedback for the current Apple Watch.
- ClWKInterfaceDevicewatchOS 2.0+An object that provides information about the current Apple Watch hardware and plays haptics.
- EnWKHapticTypewatchOS 2.0+Constants that specify the kind of haptic feedback to play.
- EnWKInterfaceDeviceWristLocationwatchOS 3.0+Constants that describe which wrist the user wears the watch on.
- EnWKInterfaceDeviceCrownOrientationwatchOS 3.0+Constants that describe the side of the watch on which the Digital Crown sits.
- EnWKWaterResistanceRatingwatchOS 3.0+Constants that describe the water resistance rating of the watch.
- EnWKInterfaceDeviceBatteryStatewatchOS 4.0+Constants that describe the charging state of the watch's battery.
Layout and Appearance 9
Constants that describe layout direction, alignment, scroll position, and visual styling of interface objects.
- EnWKInterfaceLayoutDirectionwatchOS 2.1+Constants that specify the layout direction of interface content.
- EnWKInterfaceSemanticContentAttributewatchOS 2.1+Constants that specify how an interface object's content flips for right-to-left layouts.
- EnWKInterfaceObjectHorizontalAlignmentwatchOS 2.0+Constants that specify the horizontal alignment of an interface object.
- EnWKInterfaceObjectVerticalAlignmentwatchOS 2.0+Constants that specify the vertical alignment of an interface object.
- EnWKInterfaceScrollPositionwatchOS 4.0+Constants that specify a target position for scrolling content.
- EnWKPageOrientationwatchOS 4.0+Constants that specify the orientation of a paged interface.
- EnWKVideoGravitywatchOS 2.0+Constants that specify how video content fills its display area.
- EnWKInterfaceMapPinColorConstants that specify the color of a pin annotation on a map.
- EnWKMenuItemIconConstants that specify the built-in icon shown for a context menu item.
App State and Input 5
Constants describing app lifecycle state, text input, notifications, and error conditions.
- EnWKApplicationStatewatchOS 3.0+Constants that describe the runtime state of a watchOS app.
- EnWKUserNotificationInterfaceTypeConstants that specify the type of interface to display for a user notification.
- EnWKTextInputModeConstants that specify which input methods are available for text entry.
- StWKTextContentTypeConstants that describe the semantic meaning of text in a field to aid input.
- StWatchKitErrorAn error type that describes failures originating from WatchKit.
Classes 4
- ClWKApplicationwatchOS 7.0+
- ClWKExtension
- ClWKInterfaceControllerwatchOS 2.0+
- ClWKUserNotificationInterfaceControllerwatchOS 2.0+
Structures 1
- StNowPlayingViewwatchOS 7.0+A view which shows information playing media on an audio source.
Protocols 2
- PrWKApplicationDelegatewatchOS 7.0+
- PrWKExtensionDelegate
Type Aliases 1
- TyWKAlertActionHandler