<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 1.1.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ExtensionFoundation",
  "identifier" : "/documentation/ExtensionFoundation/AppExtensionPoint/Bind",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "ExtensionFoundation"
    ],
    "preciseIdentifier" : "s:19ExtensionFoundation03AppA5PointV4BindV"
  },
  "title" : "AppExtensionPoint.Bind"
}
-->

# AppExtensionPoint.Bind

A property wrapper that binds an app extension to an extension point of a host app.

```
@resultBuilder struct Bind
```

## Overview

Apply this property wrapper to a variable that contains an [`AppExtensionPoint`](/documentation/ExtensionFoundation/AppExtensionPoint) type. Use
the variable to define the extension point that your app extension supports. An app extension
can bind to only one extension point in a host app.

When configuring the [`AppExtensionPoint`](/documentation/ExtensionFoundation/AppExtensionPoint) type for your variable, specify the host app and
extension point details using an [`AppExtensionPoint.Identifier`](/documentation/ExtensionFoundation/AppExtensionPoint/Identifier) type. The following example
shows how to create the variable in your app extension, specify the extension point you want,
and create the binding:

```
struct MyAppExtension: AppExtension {
    @AppExtensionPoint.Bind
    var extensionPoint: AppExtensionPoint {
        AppExtensionPoint.Identifier("com.example.hostapp”, name “HostAppFeature”)
    }
}
```

To ensure the system discovers your app extension’s bindings, add a user-defined build setting
to your app extension target in Xcode. Set the build setting name to `EX_ENABLE_EXTENSION_POINT_GENERATION`
and configure it with a value of `YES`. When this setting is present, the compiler places the
necessary binding information in your app extension’s `Info.plist` file.

## Topics

### Annotating a binding

[`static func buildBlock(AppExtensionPoint.Identifier) -> AppExtensionPoint`](/documentation/ExtensionFoundation/AppExtensionPoint/Bind/buildBlock(_:))

Passes an identifier to the extension point type.

### Type Methods

[`static func buildBlock(AppExtensionPoint.Identifier, AppExtensionPoint.Capabilities) -> AppExtensionPoint`](/documentation/ExtensionFoundation/AppExtensionPoint/Bind/buildBlock(_:_:))

---

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)