ClockKit builds watchOS complications that display app information directly on the watch face. You define a data source that supplies timeline entries to the CLKComplicationServer, describing each complication with a CLKComplicationDescriptor and rendering its content with a CLKComplicationTemplate. The framework provides templates for every complication family and slot, including modular, utilitarian, circular, extra-large, and graphic styles such as CLKComplicationTemplateModularSmallSimpleText and CLKComplicationTemplateGraphicCornerGaugeText. Migration configuration types like CLKComplicationStaticWidgetMigrationConfiguration and CLKComplicationIntentWidgetMigrationConfiguration help move existing complications to widget-based equivalents.
Essentials 5
The core objects that register a complication, supply its data, and describe it to the system.
- ClCLKComplicationwatchOS 9.0+An object that represents a single complication on the watch face, identified by its family and identifier.
- ClCLKComplicationServerwatchOS 9.0+The central object that manages complication timelines and requests data updates from your data source.
- ClCLKComplicationDescriptorwatchOS 7.0+An object that describes a complication your app supports, including its identifier, display name, and supported families.
- EnCLKComplicationFamilywatchOS 2.0+Constants that identify the complication families a watch face slot can display.
- ClCLKWatchFaceLibrarywatchOS 7.0+An object that adds shared watch faces to the user's collection from a face file.
Timeline Data 4
Types that schedule complication content over time and control how the system reveals it.
- ClCLKComplicationTimelineEntrywatchOS 9.0+An object that pairs a complication template with the date at which it should appear on the watch face.
- StCLKComplicationTimeTravelDirectionswatchOS 9.0+Constants that indicate the directions in time a complication's timeline supports.
- EnCLKComplicationTimelineAnimationBehaviorwatchOS 9.0+Constants that specify how the system animates transitions between timeline entries.
- EnCLKComplicationPrivacyBehaviorwatchOS 9.0+Constants that specify whether a complication hides its data when the device is locked.
Templates 1
The base class for all complication layouts that lay out text, images, and gauges within a slot.
- ClCLKComplicationTemplatewatchOS 9.0+The abstract base class for all complication templates that arrange a slot's text, images, and gauges.
Modular Templates 11
Templates for the modular small and modular large complication families.
- ClCLKComplicationTemplateModularSmallSimpleTextwatchOS 9.0+A modular small template that displays a single line of text.
- ClCLKComplicationTemplateModularSmallSimpleImagewatchOS 9.0+A modular small template that displays a single image.
- ClCLKComplicationTemplateModularSmallRingTextwatchOS 9.0+A modular small template that displays text inside a circular ring gauge.
- ClCLKComplicationTemplateModularSmallRingImagewatchOS 9.0+A modular small template that displays an image inside a circular ring gauge.
- ClCLKComplicationTemplateModularSmallStackTextwatchOS 9.0+A modular small template that stacks two lines of text vertically.
- ClCLKComplicationTemplateModularSmallStackImagewatchOS 9.0+A modular small template that stacks an image above a line of text.
- ClCLKComplicationTemplateModularSmallColumnsTextwatchOS 9.0+A modular small template that arranges text into two columns and two rows.
- ClCLKComplicationTemplateModularLargeStandardBodywatchOS 9.0+A modular large template that displays a header line above two body lines.
- ClCLKComplicationTemplateModularLargeTallBodywatchOS 9.0+A modular large template that displays a header above a single tall body line.
- ClCLKComplicationTemplateModularLargeTablewatchOS 9.0+A modular large template that arranges a header above a two-column, two-row table.
- ClCLKComplicationTemplateModularLargeColumnswatchOS 9.0+A modular large template that arranges text into two columns and three rows.
Utilitarian Templates 5
Templates for the utilitarian small and utilitarian large complication families.
- ClCLKComplicationTemplateUtilitarianSmallSquarewatchOS 9.0+A utilitarian small template that displays a single square image.
- ClCLKComplicationTemplateUtilitarianSmallRingTextwatchOS 9.0+A utilitarian small template that displays text inside a ring gauge.
- ClCLKComplicationTemplateUtilitarianSmallRingImagewatchOS 9.0+A utilitarian small template that displays an image inside a ring gauge.
- ClCLKComplicationTemplateUtilitarianSmallFlatwatchOS 9.0+A utilitarian small template that displays an optional image alongside a line of text.
- ClCLKComplicationTemplateUtilitarianLargeFlatwatchOS 9.0+A utilitarian large template that displays an optional image alongside a single wide line of text.
Circular and Extra-Large Templates 13
Templates for the circular small and extra-large complication families.
- ClCLKComplicationTemplateCircularSmallSimpleTextwatchOS 9.0+A circular small template that displays a single line of text.
- ClCLKComplicationTemplateCircularSmallSimpleImagewatchOS 9.0+A circular small template that displays a single image.
- ClCLKComplicationTemplateCircularSmallRingTextwatchOS 9.0+A circular small template that displays text inside a ring gauge.
- ClCLKComplicationTemplateCircularSmallRingImagewatchOS 9.0+A circular small template that displays an image inside a ring gauge.
- ClCLKComplicationTemplateCircularSmallStackTextwatchOS 9.0+A circular small template that stacks two lines of text vertically.
- ClCLKComplicationTemplateCircularSmallStackImagewatchOS 9.0+A circular small template that stacks an image above a line of text.
- ClCLKComplicationTemplateExtraLargeSimpleTextwatchOS 9.0+An extra-large template that displays a single line of text.
- ClCLKComplicationTemplateExtraLargeSimpleImagewatchOS 9.0+An extra-large template that displays a single image.
- ClCLKComplicationTemplateExtraLargeRingTextwatchOS 9.0+An extra-large template that displays text inside a ring gauge.
- ClCLKComplicationTemplateExtraLargeRingImagewatchOS 9.0+An extra-large template that displays an image inside a ring gauge.
- ClCLKComplicationTemplateExtraLargeStackTextwatchOS 9.0+An extra-large template that stacks two lines of text vertically.
- ClCLKComplicationTemplateExtraLargeStackImagewatchOS 9.0+An extra-large template that stacks an image above a line of text.
- ClCLKComplicationTemplateExtraLargeColumnsTextwatchOS 9.0+An extra-large template that arranges text into two columns and two rows.
Graphic Corner and Circular Templates 15
Full-color graphic templates for the corner and circular complication slots.
- ClCLKComplicationTemplateGraphicCornerGaugeTextwatchOS 9.0+A graphic corner template that displays text alongside a gauge.
- ClCLKComplicationTemplateGraphicCornerGaugeImagewatchOS 9.0+A graphic corner template that displays an image alongside a gauge.
- ClCLKComplicationTemplateGraphicCornerTextImagewatchOS 9.0+A graphic corner template that displays text alongside a full-color image.
- ClCLKComplicationTemplateGraphicCornerStackTextwatchOS 9.0+A graphic corner template that stacks two lines of text in the corner.
- ClCLKComplicationTemplateGraphicCornerCircularImagewatchOS 9.0+A graphic corner template that displays a full-color circular image.
- ClCLKComplicationTemplateGraphicCircularwatchOS 9.0+A graphic circular template that displays text and an optional gauge in a circular slot.
- ClCLKComplicationTemplateGraphicCircularImagewatchOS 9.0+A graphic circular template that displays a full-color circular image.
- ClCLKComplicationTemplateGraphicCircularOpenGaugeRangeTextwatchOS 9.0+A graphic circular template with an open gauge framed by leading and trailing range text.
- ClCLKComplicationTemplateGraphicCircularOpenGaugeSimpleTextwatchOS 9.0+A graphic circular template with an open gauge and a single line of center text.
- ClCLKComplicationTemplateGraphicCircularOpenGaugeImagewatchOS 9.0+A graphic circular template with an open gauge and a center image.
- ClCLKComplicationTemplateGraphicCircularClosedGaugeTextwatchOS 9.0+A graphic circular template with a closed gauge and a single line of center text.
- ClCLKComplicationTemplateGraphicCircularClosedGaugeImagewatchOS 9.0+A graphic circular template with a closed gauge and a center image.
- ClCLKComplicationTemplateGraphicCircularStackTextwatchOS 9.0+A graphic circular template that stacks two lines of text vertically.
- ClCLKComplicationTemplateGraphicCircularStackImagewatchOS 9.0+A graphic circular template that stacks an image above a line of text.
- ClCLKComplicationTemplateGraphicBezelCircularTextwatchOS 9.0+A graphic bezel template that wraps text around a circular complication.
Graphic Rectangular and Extra-Large Templates 13
Full-color graphic templates for the rectangular and extra-large circular complication slots.
- ClCLKComplicationTemplateGraphicRectangularFullImagewatchOS 9.0+A graphic rectangular template that fills its slot with a single full-color image.
- ClCLKComplicationTemplateGraphicRectangularLargeImagewatchOS 9.0+A graphic rectangular template that displays a header line above a large full-color image.
- ClCLKComplicationTemplateGraphicRectangularStandardBodywatchOS 9.0+A graphic rectangular template that displays a header line above two body lines.
- ClCLKComplicationTemplateGraphicRectangularTextGaugewatchOS 9.0+A graphic rectangular template that displays a header and body line alongside a gauge.
- ClCLKComplicationTemplateGraphicExtraLargeCircularwatchOS 9.0+A graphic extra-large circular template that displays text and an optional gauge.
- ClCLKComplicationTemplateGraphicExtraLargeCircularImagewatchOS 9.0+A graphic extra-large circular template that displays a full-color image.
- ClCLKComplicationTemplateGraphicExtraLargeCircularOpenGaugeRangeTextwatchOS 9.0+A graphic extra-large circular template with an open gauge framed by range text.
- ClCLKComplicationTemplateGraphicExtraLargeCircularOpenGaugeSimpleTextwatchOS 9.0+A graphic extra-large circular template with an open gauge and a single line of center text.
- ClCLKComplicationTemplateGraphicExtraLargeCircularOpenGaugeImagewatchOS 9.0+A graphic extra-large circular template with an open gauge and a center image.
- ClCLKComplicationTemplateGraphicExtraLargeCircularClosedGaugeTextwatchOS 9.0+A graphic extra-large circular template with a closed gauge and a single line of center text.
- ClCLKComplicationTemplateGraphicExtraLargeCircularClosedGaugeImagewatchOS 9.0+A graphic extra-large circular template with a closed gauge and a center image.
- ClCLKComplicationTemplateGraphicExtraLargeCircularStackTextwatchOS 9.0+A graphic extra-large circular template that stacks two lines of text vertically.
- ClCLKComplicationTemplateGraphicExtraLargeCircularStackImagewatchOS 9.0+A graphic extra-large circular template that stacks an image above a line of text.
SwiftUI View Templates 15
Templates that render their content from a SwiftUI view for graphic complication slots.
- ClCLKComplicationTemplateGraphicCircularClosedGaugeViewA graphic circular template that renders a SwiftUI view inside a closed gauge.
- ClCLKComplicationTemplateGraphicCircularOpenGaugeViewA graphic circular template that renders a SwiftUI view inside an open gauge.
- ClCLKComplicationTemplateGraphicCircularStackViewTextA graphic circular template that stacks a SwiftUI view above a line of text.
- ClCLKComplicationTemplateGraphicCircularViewA graphic circular template that renders its content from a SwiftUI view.
- ClCLKComplicationTemplateGraphicCornerCircularViewA graphic corner template that renders a circular SwiftUI view.
- ClCLKComplicationTemplateGraphicCornerGaugeViewA graphic corner template that renders a SwiftUI view alongside a gauge.
- ClCLKComplicationTemplateGraphicCornerTextViewA graphic corner template that renders a SwiftUI view alongside text.
- ClCLKComplicationTemplateGraphicExtraLargeCircularClosedGaugeViewA graphic extra-large circular template that renders a SwiftUI view inside a closed gauge.
- ClCLKComplicationTemplateGraphicExtraLargeCircularOpenGaugeViewA graphic extra-large circular template that renders a SwiftUI view inside an open gauge.
- ClCLKComplicationTemplateGraphicExtraLargeCircularStackViewTextA graphic extra-large circular template that stacks a SwiftUI view above a line of text.
- ClCLKComplicationTemplateGraphicExtraLargeCircularViewA graphic extra-large circular template that renders its content from a SwiftUI view.
- ClCLKComplicationTemplateGraphicRectangularFullViewA graphic rectangular template that fills its slot with a SwiftUI view.
- ClCLKComplicationTemplateGraphicRectangularLargeViewA graphic rectangular template that displays a header above a large SwiftUI view.
- ClCLKComplicationTemplateGraphicRectangularStandardBodyViewA graphic rectangular template that displays a header and body text alongside a SwiftUI view.
- ClCLKComplicationTemplateGraphicRectangularTextGaugeViewA graphic rectangular template that displays text alongside a SwiftUI gauge view.
Content Providers 11
Objects that supply the text, images, and gauges a template displays.
- ClCLKTextProviderwatchOS 9.0+The abstract base class for objects that supply formatted text to a complication template.
- ClCLKSimpleTextProviderwatchOS 9.0+A text provider that supplies a static string and optional short-text fallback.
- ClCLKDateTextProviderwatchOS 9.0+A text provider that formats a date using the specified calendar units.
- ClCLKTimeTextProviderwatchOS 9.0+A text provider that formats the time-of-day portion of a date.
- ClCLKTimeIntervalTextProviderwatchOS 9.0+A text provider that formats the span between two dates as a time interval.
- ClCLKRelativeDateTextProviderwatchOS 9.0+A text provider that formats a date relative to the current time, updating automatically.
- ClCLKImageProviderwatchOS 9.0+An object that supplies a one- or two-piece tinted image to a complication template.
- ClCLKFullColorImageProviderwatchOS 9.0+An object that supplies a full-color image to graphic complication templates.
- ClCLKGaugeProviderwatchOS 9.0+The abstract base class for objects that supply a gauge's fill level and colors to a template.
- ClCLKSimpleGaugeProviderwatchOS 9.0+A gauge provider that supplies a fill fraction and colors from explicit values.
- ClCLKTimeIntervalGaugeProviderwatchOS 9.0+A gauge provider that derives its fill level from the progress of a time interval.
Layout Options 5
Enumerations that configure how text, rings, and gauges appear within a template.
- EnCLKComplicationColumnAlignmentwatchOS 9.0+Constants that specify the horizontal alignment of text within a column-based template.
- EnCLKComplicationRingStylewatchOS 9.0+Constants that specify whether a ring gauge appears open or closed.
- EnCLKGaugeProviderStylewatchOS 9.0+Constants that specify whether a gauge is drawn as a fill or a single indicator.
- EnCLKRelativeDateStylewatchOS 9.0+Constants that specify how a relative-date text provider formats its output.
- EnComplicationRenderingModeConstants that specify whether a complication renders in full color or as a tinted template.
Widget Migration 5
Configuration types and protocol that migrate existing complications to widget-based equivalents.
- PrCLKComplicationWidgetMigratorwatchOS 9.0+A protocol your app adopts to provide configurations that migrate complications to widgets.
- ClCLKComplicationWidgetMigrationConfigurationwatchOS 9.0+Common class for different kinds of mappings to Widget configurations.
- ClCLKComplicationStaticWidgetMigrationConfigurationwatchOS 9.0+Holds data that maps to a Widget specified by a `StaticConfiguration` in a specific extension.
- ClCLKComplicationIntentWidgetMigrationConfigurationwatchOS 9.0+Holds data that maps to a Widget specified by an `IntentConfiguration` in a specific extension.
- ClCLKComplicationAppIntentWidgetMigrationConfigurationA configuration that migrates an App Intent-based complication to a widget equivalent.
Protocols 1
- PrCLKComplicationDataSourcewatchOS 2.0+