---
title: ExtensionKit
framework: ExtensionKit
role: collection
role_heading: Framework
platforms: [iOS 16.1+, iPadOS 16.1+, Mac Catalyst 16.0+, macOS 13.0+, tvOS 16.0+, visionOS 1.0+, watchOS 10.0+]
path: extensionkit
---

# ExtensionKit

Make custom UI from an app extension available in a host app, and manage the list of enabled and disabled app extensions.

## Mentioned in

Including extension-based UI in your interface Displaying the app extensions available to your app

## Overview

Overview An app extension is a code bundle that extends the capabilities of the system, or the capabilities of another app. At the system level, app extensions give you a way to add your custom capabilities to system features. For example, Creating a widget extension display your app’s content in specific locations like the iOS Home Screen and Lock screen. System features typically provide a custom workflow for building the associated app extension, but still use this framework to implement support for those features. If your app supports the incorporation of content from custom app extensions, adopt this framework and the ExtensionFoundation framework to support that capability. Adopt ExtensionKit in your app extensions and use it to define the views you want to display. In a host app, use this framework to present the interfaces that app extensions provide. This framework also provides a view controller to show enabled and disabled app extensions from your app’s interface.

## Topics

### Essentials

- [Including extension-based UI in your interface](extensionkit/including-extension-based-ui-in-your-interface.md)

### UI definition

- [AppExtensionScene](extensionkit/appextensionscene.md)
- [PrimitiveAppExtensionScene](extensionkit/primitiveappextensionscene.md)
- [AppExtensionSceneBuilder](extensionkit/appextensionscenebuilder.md)

### App extension configuration

- [AppExtensionSceneConfiguration](extensionkit/appextensionsceneconfiguration.md)

### Host app presentation

- [Displaying the app extensions available to your app](extensionkit/displaying-the-app-extensions-available-to-your-app.md)
- [EXHostViewController](extensionkit/exhostviewcontroller.md)
- [EXAppExtensionBrowserViewController](extensionkit/exappextensionbrowserviewcontroller.md)
