<!--
{
  "documentType" : "article",
  "framework" : "WidgetKit",
  "identifier" : "/documentation/WidgetKit/Controls-Collection",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Controls"
}
-->

# Controls

Offer controls that people place in Control Center, on the Lock Screen, and on the Action button to quickly perform an action from your app.

## Discussion

Controls act as a button that initiates an action from your app or opens your app to a specific view, or as a toggle.
A toggle can turn a light on and off, or open and close a garage door. People place controls in prominent locations to personalize how
they use their devices:

- On devices with an Action button, people can place a controls action in the Action button.
- On iPhone and iPad, people place controls in Control Center and on the Lock Screen.
- On Mac, people place controls from your macOS app in Control Center or as menu bar items.
- On Apple Watch, people place controls from your watchOS app or from a paired iPhone in Control Center or the Smart Stack. If you offer watchOS app in addition to an iPhone app and both apps offer controls, people can only place controls from your watchOS app in Control Center or the Smart Stack.

To offer a control for your app, use WidgetKit API to configure and update the control,  create its layout with <doc://com.apple.documentation/documentation/SwiftUI>, and perform its action using <doc://com.apple.documentation/documentation/AppIntents>. For more information about the App Intents framework, refer to <doc://com.apple.documentation/documentation/AppIntents/getting-started-with-the-app-intents-framework>.

## Topics

### Essentials

[Developing a WidgetKit strategy](/documentation/WidgetKit/Developing-a-WidgetKit-strategy)

Explore features, tasks, related frameworks, and constraints as you make a plan to implement widgets, controls, watch complications, and Live Activities.

[Creating a widget extension](/documentation/WidgetKit/Creating-a-Widget-Extension)

Display your app’s content in a convenient, informative widget on various devices.

[Emoji Rangers: Supporting Live Activities, interactivity, and animations](/documentation/WidgetKit/emoji-rangers-supporting-live-activities-interactivity-and-animations)

Offer Live Activities, controls, animate data updates, and add interactivity to widgets.

### Setup and configuration

[Creating controls to perform actions across the system](/documentation/WidgetKit/Creating-controls-to-perform-actions-across-the-system)

Perform your app’s actions from Control Center, the Lock Screen, and the Action button.

[Adding refinements and configuration to controls](/documentation/WidgetKit/Adding-refinements-and-configuration-to-controls)

Customize the way controls display across the system and offer people the ability to configure them.

[`StaticControlConfiguration`](/documentation/WidgetKit/StaticControlConfiguration)

[`AppIntentControlConfiguration`](/documentation/WidgetKit/AppIntentControlConfiguration)

[`ControlCenter`](/documentation/WidgetKit/ControlCenter)

[`ControlInfo`](/documentation/WidgetKit/ControlInfo)

[`ControlWidgetButton`](/documentation/WidgetKit/ControlWidgetButton)

[`ControlWidgetToggle`](/documentation/WidgetKit/ControlWidgetToggle)

### Updates

[Updating controls locally and remotely](/documentation/WidgetKit/Updating-controls-locally-and-remotely)

Update and reload controls from your app or using push notifications.

[`ControlPushHandler`](/documentation/WidgetKit/ControlPushHandler)

[`ControlPushInfo`](/documentation/WidgetKit/ControlPushInfo)

### Previews

[`ControlValueProvider`](/documentation/WidgetKit/ControlValueProvider)

[`AppIntentControlValueProvider`](/documentation/WidgetKit/AppIntentControlValueProvider)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)