One Logo Pool Ball
ExtensionFoundation · IOS API REFERENCE

AppExtensionPoint

struct · iOS 26.0+ · SDK 27.1

struct AppExtensionPoint

A type you use to declare your host app’s extension points and bind to them from app extensions. Use this type both to declare your app’s supported extension points and to bind to those extension points. To declare an extension point your app supports, extend this type by adding a static variable with the details of your extension point. Annotate your variable with the ``AppExtensionPoint/Definition`` property wrapper and specify the name and other attributes of your extension point. The following example adds two extension point with different configurations: ``` extension AppExtensionPoint { @Definition static var MySecureFeature : AppExtensionPoint { Name(“MySecureFeature”) UserInterface(false) EnhancedSecurity(true) } @Definition static var MyInterfaceFeature : AppExtensionPoint { Name(“MyInterfaceFeature”) UserInterface(true) } } ``` In addition to defining your app’s extension points, use this type in an app extension to bind to an extension point. In your app extension’s source code, add a variable that contains the `AppExtensionPoint` type. Set the value of that variable to the extension point identifier you support. Annotate your variable declaration with the ``AppExtensionPoint/Bind`` property wrapper, as shown in the following example: ``` struct MyAppExtension: AppExtension { @AppExtensionPoint.Bind var boundAppExtensionPoint: AppExtensionPoint { AppExtensionPoint.Identifier(name “MySecureFeature”) } } ``` To make extension point and binding information available at runtime, use the compiler to add the relevant information to your built products. In your Xcode project, add the `EX_ENABLE_EXTENSION_POINT_GENERATION` flag to the build settings of your host app and app extension. When the value of the flag is `true`, the compiler collects the target’s extension point definitions or bindings and writes them to the target’s bundle. For example, it creates a special file in the host app’s bundle and adds the extension point definitions to that file. The system collects definition and binding information at installation time and uses it to match the host app to relevant app extensions.

Members (2)

init · iOS 26.0+

init

TypeScript
static init(identifier: SDKHandle): AppExtensionPoint
Swift declaration
init(identifier: StaticString) throws

Initializes the type with a string you can use to find the extension point. - Paramerters: - identifier: The name of the extension point. This string isn’t the same as the value you put in the ``AppExtensionPoint/Identifier`` type.

get · iOS 26.0+

id

TypeScript
get id(): string
Swift declaration
var id: String { get }

The stable identity of the entity associated with this instance.

Skipped declarations

No declarations were skipped in this snapshot.

All ExtensionFoundation types →