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

# AppExtensionIdentity

A type that uniquely identifies an app extension on the system.

```
struct AppExtensionIdentity
```

## Overview

Use this type to identify an app extension on the system and connect to it. You don’t create
this type directly. Instead, you use the [`AppExtensionPoint.Monitor`](/documentation/ExtensionFoundation/AppExtensionPoint/Monitor) type to retrieve
instances of this type for the available app extensions.

## Topics

### Identifying the process

[`var bundleIdentifier: String`](/documentation/ExtensionFoundation/AppExtensionIdentity/bundleIdentifier)

The bundle identifier of the app extension.

[`var extensionPointIdentifier: String`](/documentation/ExtensionFoundation/AppExtensionIdentity/extensionPointIdentifier)

The extension point of your host app that the app extension supports.

[`var localizedName: String`](/documentation/ExtensionFoundation/AppExtensionIdentity/localizedName)

The localized, human-readable name of the app extension.

### Comparing app extensions

[`func hash(into: inout Hasher)`](/documentation/ExtensionFoundation/AppExtensionIdentity/hash(into:))

Hashes the essential components of the extension by feeding them into the given hash function.

[`static func == (AppExtensionIdentity, AppExtensionIdentity) -> Bool`](/documentation/ExtensionFoundation/AppExtensionIdentity/==(_:_:))

Returns a Boolean value that indicates whether two identities are equal.

### Deprecated

[`struct Availability`](/documentation/ExtensionFoundation/AppExtensionIdentity/Availability)

An object that contains information about available extensions.

[`static var availabilityUpdates: AsyncStream<AppExtensionIdentity.Availability>`](/documentation/ExtensionFoundation/AppExtensionIdentity/availabilityUpdates)

[`static func matching(appExtensionPointIDs: String...) throws -> AppExtensionIdentity.Identities`](/documentation/ExtensionFoundation/AppExtensionIdentity/matching(appExtensionPointIDs:))

The asynchronous sequence of extension identities which target the specified extension point identifiers.

[`struct Identities`](/documentation/ExtensionFoundation/AppExtensionIdentity/Identities)

An asynchronous sequence that returns the enabled extensions that match provided constraints.

## Relationships

### Conforms To

[`Identifiable`](/documentation/Swift/Identifiable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Hashable`](/documentation/Swift/Hashable)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

---

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)