What's New / App Intents & System Integration

What's new in AppIntents

+196 NewiOS · macOS · tvOS · watchOS

App Intents lets an app expose its actions and content to the system so they can run from Siri, Shortcuts, and Spotlight. Apps define intents, entities, and queries that the system discovers, runs, and passes parameters to.

196 new APIs, no deprecations or removals. New types include AppEntityContext, the AppUnionValue and AppUnionValueCasesProviding protocols, AudioContext, CustomAppIntentErrorConvertible, EntityCollection, EntityOwnership, the IndexedEntityQuery protocol, IntentExecutionTargets, IntentPrompt, IntentResponseStream, and the LongRunningIntent protocol. AppIntent gains allowedExecutionTargets and a nested ExecutionTargets type. AppSchema adds an Intent member.

New

196
struct

AppEntityContext

NewiOSmacOStvOSwatchOS
public struct AppEntityContext : Hashable, Sendable

The context used to scope suggested entity donations to a specific domain.

Pass a AppEntityContext when donating or removing entities via RelevantEntities to associate suggestions with the appropriate part of the app experience.

Use extensions defined by framework overlays (such as the HealthKit overlay) to create context values for specific domains.

Declaration
public struct AppEntityContext : Hashable, Sendable {

    /// Returns a Boolean value indicating whether two values are equal.
    ///
    /// Equality is the inverse of inequality. For any values `a` and `b`,
    /// `a == b` implies that `a != b` is `false`.
    ///
    /// - Parameters:
    ///   - lhs: A value to compare.
    ///   - rhs: Another value to compare.
    public static func == (a: AppEntityContext, b: AppEntityContext) -> Bool

    /// Hashes the essential components of this value by feeding them into the
    /// given hasher.
    ///
    /// Implement this method to conform to the `Hashable` protocol. The
    /// components used for hashing must be the same as the components compared
    /// in your type's `==` operator implementation. Call `hasher.combine(_:)`
    /// with each of these components.
    ///
    /// - Important: In your implementation of `hash(into:)`,
    ///   don't call `finalize()` on the `hasher` instance provided,
    ///   or replace it with a different instance.
    ///   Doing so may become a compile-time error in the future.
    ///
    /// - Parameter hasher: The hasher to use when combining the components
    ///   of this instance.
    public func hash(into hasher: inout Hasher)

    /// The hash value.
    ///
    /// Hash values are not guaranteed to be equal across different executions of
    /// your program. Do not save hash values to use during a future execution.
    ///
    /// - Important: `hashValue` is deprecated as a `Hashable` requirement. To
    ///   conform to `Hashable`, implement the `hash(into:)` requirement instead.
    ///   The compiler provides an implementation for `hashValue` for you.
    public var hashValue: Int { get }
}
extension

AppEntityContext

NewiOSmacOStvOSwatchOS
extension AppEntityContext
Declaration
extension AppEntityContext {

    /// An audio-related context.
    ///
    /// - Parameter audioContext: The specific ``AudioContext`` describing
    ///   the audio activity for this donation.
    public static func audio(_ audioContext: AudioContext) -> AppEntityContext
}
extension

AppSchema.AppStoreEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.AppStoreEntity
Declaration
extension AppSchema.AppStoreEntity {

    /**
    A schema that provides the system with a structured representation for
    a marketplace application entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `appStore` domain and its content matches the `marketplaceApplication` schema,
    use the `@AppEntity( .appStore.marketplaceApplication)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `marketplaceApplication` schema:
    
    ```swift
    @AppEntity(schema: .appStore.marketplaceApplication)
    struct MarketplaceApplication {
        // MARK: Static
    
        static let defaultQuery = MarketplaceApplicationQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var name: String
        var bundleID: String?
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct MarketplaceApplicationQuery: EntityQuery {
            func entities(for identifiers: [MarketplaceApplication.ID]) async throws -> [MarketplaceApplication] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var marketplaceApplication: some AppSchemaEntity { get }
}
extension

AppSchema.AppStoreIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.AppStoreIntent
Declaration
extension AppSchema.AppStoreIntent {

    /**
    A schema that provides a structured representation for an intent that initiates the install process for a concrete application from an app
    marketplace.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `appStore` domain
    and one of your app’s actions matches the `installApplication` schema,
    use the `@AppIntent( .appStore.installApplication)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `installApplication` schema:
    
    ```swift
    @AppIntent(schema: .appStore.installApplication)
    struct InstallApplicationIntent {
        var application: <#MarketplaceApplication#>
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var installApplication: some AppSchemaIntent { get }
}
extension

AppSchema.AudioEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.AudioEntity
Declaration
extension AppSchema.AudioEntity {

    /**
    A schema that provides the system with a structured representation for
    an album entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `audio` domain and its content matches the `album` schema,
    use the `@AppEntity( .audio.album)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `album` schema:
    
    ```swift
    @AppEntity(schema: .audio.album)
    struct AlbumEntity {
        // MARK: Static
    
        static let defaultQuery = AlbumEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var title: String
        var artistName: String
        var artists: [<#ArtistEntity#>]
        var universalProductCode: String?
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct AlbumEntityQuery: EntityQuery {
            func entities(for identifiers: [AlbumEntity.ID]) async throws -> [AlbumEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var album: some AppSchemaEntity { get }

    /**
    A schema that provides the system with a structured representation for
    an algorithmic radio station entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `audio` domain and its content matches the `algorithmicRadioStation` schema,
    use the `@AppEntity( .audio.algorithmicRadioStation)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `algorithmicRadioStation` schema:
    
    ```swift
    @AppEntity(schema: .audio.algorithmicRadioStation)
    struct AlgorithmicRadioStationEntity {
        // MARK: Static
    
        static let defaultQuery = AlgorithmicRadioStationEntityQuery()
    
        // MARK: Properties

Truncated.

extension

AppSchema.AudioEnum

NewiOSmacOStvOSwatchOS
extension AppSchema.AudioEnum
Declaration
extension AppSchema.AudioEnum {

    /**
    A schema that provides the system with a structured representation for
    an app view identifier parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `audio` domain and
    an intent's static parameter type matches the `appViewIdentifier` schema,
    use the `@AppEnum( .audio.appViewIdentifier)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `appViewIdentifier` schema:
    
    ```swift
    @AppEnum(schema: .audio.appViewIdentifier)
    enum AudioAppViewIdentifier: String {
        case nowPlaying
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .nowPlaying: "NowPlaying"
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var appViewIdentifier: some AppSchemaEnum { get }

    /**
    A schema that provides the system with a structured representation for
    an affinity state parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `audio` domain and
    an intent's static parameter type matches the `affinityState` schema,
    use the `@AppEnum( .audio.affinityState)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `affinityState` schema:
    
    ```swift
    @AppEnum(schema: .audio.affinityState)
    enum AffinityState: String {
        case like
        case dislike
        case unset
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .like: "Like",
            .dislike: "Dislike",
            .unset: "Unset"
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,

Truncated.

extension

AppSchema.AudioIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.AudioIntent
Declaration
extension AppSchema.AudioIntent {

    /**
    A schema that provides a structured representation for an intent that adds an audio item to the user’s library.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `audio` domain
    and one of your app’s actions matches the `addToLibrary` schema,
    use the `@AppIntent( .audio.addToLibrary)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `addToLibrary` schema:
    
    ```swift
    @AppIntent(schema: .audio.addToLibrary)
    struct AddAudioToLibraryIntent {
        var audioEntity: <#UnionValue#>
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var addToLibrary: some AppSchemaIntent { get }

    /**
    A schema that provides a structured representation for an intent that adds an audio item to a playlist.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `audio` domain
    and one of your app’s actions matches the `addToPlaylist` schema,
    use the `@AppIntent( .audio.addToPlaylist)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `addToPlaylist` schema:
    
    ```swift
    @AppIntent(schema: .audio.addToPlaylist)
    struct AddAudioToPlaylistIntent {
        var audioEntity: <#UnionValue#>
        var playlist: <#PlaylistEntity#>
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var addToPlaylist: some AppSchemaIntent { get }

    /**

Truncated.

extension

AppSchema.BrowserEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.BrowserEntity
Declaration
extension AppSchema.BrowserEntity {

    /**
    A schema that provides the system with a structured representation for
    a tab group entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `browser` domain and its content matches the `tabGroup` schema,
    use the `@AppEntity( .browser.tabGroup)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `tabGroup` schema:
    
    ```swift
    @AppEntity(schema: .browser.tabGroup)
    struct TabGroupEntity {
        // MARK: Static
    
        static let defaultQuery = TabGroupEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var title: String
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct TabGroupEntityQuery: EntityQuery {
            func entities(for identifiers: [TabGroupEntity.ID]) async throws -> [TabGroupEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var tabGroup: some AppSchemaEntity { get }

    /**
    A schema that provides the system with a structured representation for
    a reading list item entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `browser` domain and its content matches the `readingListItem` schema,
    use the `@AppEntity( .browser.readingListItem)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `readingListItem` schema:
    
    ```swift
    @AppEntity(schema: .browser.readingListItem)
    struct ReadingListItemEntity {
        // MARK: Static
    
        static let defaultQuery = ReadingListItemEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>

Truncated.

extension

AppSchema.CalendarEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.CalendarEntity
Declaration
extension AppSchema.CalendarEntity {

    /**
    A schema that provides the system with a structured representation for
    an attendee entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `calendar` domain and its content matches the `attendee` schema,
    use the `@AppEntity( .calendar.attendee)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `attendee` schema:
    
    ```swift
    @AppEntity(schema: .calendar.attendee)
    struct AttendeeEntity {
        // MARK: Static
    
        static let defaultQuery = AttendeeEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var person: IntentPerson
        var status: <#ParticipantStatus#>?
        var isAttendanceOptional: Bool
        var type: <#AttendeeType#>?
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct AttendeeEntityQuery: EntityQuery {
            func entities(for identifiers: [AttendeeEntity.ID]) async throws -> [AttendeeEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var attendee: some AppSchemaEntity { get }

    /**
    A schema that provides the system with a structured representation for
    a calendar entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `calendar` domain and its content matches the `calendar` schema,
    use the `@AppEntity( .calendar.calendar)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `calendar` schema:
    
    ```swift
    @AppEntity(schema: .calendar.calendar)
    struct CalendarEntity {
        // MARK: Static
    
        static let defaultQuery = CalendarEntityQuery()
    
        // MARK: Properties

Truncated.

extension

AppSchema.CalendarEnum

NewiOSmacOStvOSwatchOS
extension AppSchema.CalendarEnum
Declaration
extension AppSchema.CalendarEnum {

    /**
    A schema that provides the system with a structured representation for
    an attendee type parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `calendar` domain and
    an intent's static parameter type matches the `attendeeType` schema,
    use the `@AppEnum( .calendar.attendeeType)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `attendeeType` schema:
    
    ```swift
    @AppEnum(schema: .calendar.attendeeType)
    enum AttendeeType: String {
        case <#AttendeeType Case#>
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            <#DisplayRepresentations#>
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var attendeeType: some AppSchemaEnum { get }

    /**
    A schema that provides the system with a structured representation for
    an event status parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `calendar` domain and
    an intent's static parameter type matches the `eventStatus` schema,
    use the `@AppEnum( .calendar.eventStatus)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `eventStatus` schema:
    
    ```swift
    @AppEnum(schema: .calendar.eventStatus)
    enum EventEntityStatus: String {
        case confirmed
        case tentative
        case cancelled
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .confirmed: "Confirmed",
            .tentative: "Tentative",
            .cancelled: "Cancelled"
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,

Truncated.

extension

AppSchema.CalendarIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.CalendarIntent
Declaration
extension AppSchema.CalendarIntent {

    /**
    A schema that provides a structured representation for an intent that creates a calendar event.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `calendar` domain
    and one of your app’s actions matches the `createEvent` schema,
    use the `@AppIntent( .calendar.createEvent)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `createEvent` schema:
    
    ```swift
    @AppIntent(schema: .calendar.createEvent)
    struct CreateEventIntent {
        var title: String
        var startDate: Date
        var endDate: Date?
        var location: <#UnionValue#>?
        var calendar: <#CalendarEntity#>
        var isAllDay: Bool
        var recurrence: Calendar.RecurrenceRule?
        var attendees: [<#AttendeeEntity#>]
        var note: AttributedString?
    
        func perform() async throws -> some ReturnsValue<<#EventEntity#>> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var createEvent: some AppSchemaIntent { get }

    /**
    A schema that provides a structured representation for an intent that deletes a calendar event.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `calendar` domain
    and one of your app’s actions matches the `deleteEvents` schema,
    use the `@AppIntent( .calendar.deleteEvents)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `deleteEvents` schema:
    
    ```swift
    @AppIntent(schema: .calendar.deleteEvents)
    struct DeleteEventIntent {
        var entity: <#EventEntity#>
        var span: <#EventSpan#>?
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri

Truncated.

extension

AppSchema.ClockEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.ClockEntity
Declaration
extension AppSchema.ClockEntity {

    /**
    A schema that provides the system with a structured representation for
    an alarm entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `clock` domain and its content matches the `alarm` schema,
    use the `@AppEntity( .clock.alarm)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `alarm` schema:
    
    ```swift
    @AppEntity(schema: .clock.alarm)
    struct AlarmEntity {
        // MARK: Static
    
        static let defaultQuery = AlarmEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var time: DateComponents
        var isEnabled: Bool
        var label: String?
        var recurrenceDays: Calendar.RecurrenceRule?
        var canSnooze: Bool
        var triggerState: <#AlarmTriggerState#>
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct AlarmEntityQuery: EntityQuery {
            func entities(for identifiers: [AlarmEntity.ID]) async throws -> [AlarmEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var alarm: some AppSchemaEntity { get }

    /**
    A schema that provides the system with a structured representation for
    a stopwatch entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `clock` domain and its content matches the `stopwatch` schema,
    use the `@AppEntity( .clock.stopwatch)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `stopwatch` schema:
    
    ```swift
    @AppEntity(schema: .clock.stopwatch)
    struct StopwatchEntity {
        // MARK: Static
    
        static let defaultQuery = StopwatchEntityQuery()

Truncated.

extension

AppSchema.ClockEnum

NewiOSmacOStvOSwatchOS
extension AppSchema.ClockEnum
Declaration
extension AppSchema.ClockEnum {

    /**
    A schema that provides the system with a structured representation for
    an alarm trigger state parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `clock` domain and
    an intent's static parameter type matches the `alarmTriggerState` schema,
    use the `@AppEnum( .clock.alarmTriggerState)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `alarmTriggerState` schema:
    
    ```swift
    @AppEnum(schema: .clock.alarmTriggerState)
    enum AlarmTriggerState: String {
        case firing
        case snoozed
        case none
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .firing: "Firing",
            .snoozed: "Snoozed",
            .none: "None"
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var alarmTriggerState: some AppSchemaEnum { get }

    /**
    A schema that provides the system with a structured representation for
    a timer state parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `clock` domain and
    an intent's static parameter type matches the `timerState` schema,
    use the `@AppEnum( .clock.timerState)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `timerState` schema:
    
    ```swift
    @AppEnum(schema: .clock.timerState)
    enum TimerState: String {
        case firing
        case paused
        case running
        case undefined
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .firing: "Firing",
            .paused: "Paused",
            .running: "Running",
            .undefined: "Undefined"
        ]
    }
    ```

Truncated.

extension

AppSchema.ClockIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.ClockIntent
Declaration
extension AppSchema.ClockIntent {

    /**
    A schema that provides a structured representation for an intent that cancels timers.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `clock` domain
    and one of your app’s actions matches the `cancelTimer` schema,
    use the `@AppIntent( .clock.cancelTimer)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `cancelTimer` schema:
    
    ```swift
    @AppIntent(schema: .clock.cancelTimer)
    struct CancelTimerIntent {
        var entities: [<#TimerEntity#>]
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var cancelTimer: some AppSchemaIntent { get }

    /**
    A schema that provides a structured representation for an intent that creates an alarm.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `clock` domain
    and one of your app’s actions matches the `createAlarm` schema,
    use the `@AppIntent( .clock.createAlarm)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `createAlarm` schema:
    
    ```swift
    @AppIntent(schema: .clock.createAlarm)
    struct CreateAlarmIntent {
        var time: DateComponents
        var label: String?
        var recurrenceDays: Calendar.RecurrenceRule?
        var canSnooze: Bool
    
        func perform() async throws -> some ReturnsValue<<#AlarmEntity#>> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var createAlarm: some AppSchemaIntent { get }

Truncated.

extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.MessagesEntity
Declaration
extension AppSchema.Entity : AppSchema.MessagesEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.ImageGenerationEntity
Declaration
extension AppSchema.Entity : AppSchema.ImageGenerationEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.AudioEntity
Declaration
extension AppSchema.Entity : AppSchema.AudioEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.RemindersEntity
Declaration
extension AppSchema.Entity : AppSchema.RemindersEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.ClockEntity
Declaration
extension AppSchema.Entity : AppSchema.ClockEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.NotesEntity
Declaration
extension AppSchema.Entity : AppSchema.NotesEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.CalendarEntity
Declaration
extension AppSchema.Entity : AppSchema.CalendarEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.PhoneEntity
Declaration
extension AppSchema.Entity : AppSchema.PhoneEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.MapsEntity
Declaration
extension AppSchema.Entity : AppSchema.MapsEntity {
}
extension

AppSchema.Entity

NewiOSmacOStvOSwatchOS
extension AppSchema.Entity : AppSchema.AppStoreEntity
Declaration
extension AppSchema.Entity : AppSchema.AppStoreEntity {
}
extension

AppSchema.Enum

NewiOSmacOStvOSwatchOS
extension AppSchema.Enum : AppSchema.MessagesEnum
Declaration
extension AppSchema.Enum : AppSchema.MessagesEnum {
}
extension

AppSchema.Enum

NewiOSmacOStvOSwatchOS
extension AppSchema.Enum : AppSchema.ImageGenerationEnum
Declaration
extension AppSchema.Enum : AppSchema.ImageGenerationEnum {
}
extension

AppSchema.Enum

NewiOSmacOStvOSwatchOS
extension AppSchema.Enum : AppSchema.AudioEnum
Declaration
extension AppSchema.Enum : AppSchema.AudioEnum {
}
extension

AppSchema.Enum

NewiOSmacOStvOSwatchOS
extension AppSchema.Enum : AppSchema.RemindersEnum
Declaration
extension AppSchema.Enum : AppSchema.RemindersEnum {
}
extension

AppSchema.Enum

NewiOSmacOStvOSwatchOS
extension AppSchema.Enum : AppSchema.ClockEnum
Declaration
extension AppSchema.Enum : AppSchema.ClockEnum {
}
extension

AppSchema.Enum

NewiOSmacOStvOSwatchOS
extension AppSchema.Enum : AppSchema.CalendarEnum
Declaration
extension AppSchema.Enum : AppSchema.CalendarEnum {
}
extension

AppSchema.Enum

NewiOSmacOStvOSwatchOS
extension AppSchema.Enum : AppSchema.PhoneEnum
Declaration
extension AppSchema.Enum : AppSchema.PhoneEnum {
}
extension

AppSchema.Enum

NewiOSmacOStvOSwatchOS
extension AppSchema.Enum : AppSchema.MapsEnum
Declaration
extension AppSchema.Enum : AppSchema.MapsEnum {
}
extension

AppSchema.FilesIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.FilesIntent
Declaration
extension AppSchema.FilesIntent {

    /**
    A schema that provides a structured representation for an intent that scans a document.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `files` domain
    and one of your app’s actions matches the `showDocumentScanner` schema,
    use the `@AppIntent( .files.showDocumentScanner)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `showDocumentScanner` schema:
    
    ```swift
    @AppIntent(schema: .files.showDocumentScanner)
    struct ScanDocument {
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var showDocumentScanner: some AppSchemaIntent { get }
}
extension

AppSchema.ImageGenerationEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.ImageGenerationEntity
Declaration
extension AppSchema.ImageGenerationEntity {

    /**
    A schema that provides the system with a structured representation for
    a style entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `imageGeneration` domain and its content matches the `style` schema,
    use the `@AppEntity( .imageGeneration.style)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `style` schema:
    
    ```swift
    @AppEntity(schema: .imageGeneration.style)
    struct ImageGenerationStyle {
        // MARK: Static
    
        static let defaultQuery = ImageGenerationStyleQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct ImageGenerationStyleQuery: EntityQuery {
            func entities(for identifiers: [ImageGenerationStyle.ID]) async throws -> [ImageGenerationStyle] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var style: some AppSchemaEntity { get }
}
extension

AppSchema.ImageGenerationEnum

NewiOSmacOStvOSwatchOS
extension AppSchema.ImageGenerationEnum
Declaration
extension AppSchema.ImageGenerationEnum {

    /**
    A schema that provides the system with a structured representation for
    a save to library mode parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `imageGeneration` domain and
    an intent's static parameter type matches the `saveToLibraryMode` schema,
    use the `@AppEnum( .imageGeneration.saveToLibraryMode)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `saveToLibraryMode` schema:
    
    ```swift
    @AppEnum(schema: .imageGeneration.saveToLibraryMode)
    enum ImageGenerationSaveMode: String {
        case always
        case askWhenRun
        case never
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .always: "Always",
            .askWhenRun: "AskWhenRun",
            .never: "Never"
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var saveToLibraryMode: some AppSchemaEnum { get }
}
extension

AppSchema.ImageGenerationIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.ImageGenerationIntent
Declaration
extension AppSchema.ImageGenerationIntent {

    /**
    A schema that provides a structured representation for an intent that generates an image with the specified prompt.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `imageGeneration` domain
    and one of your app’s actions matches the `generate` schema,
    use the `@AppIntent( .imageGeneration.generate)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `generate` schema:
    
    ```swift
    @AppIntent(schema: .imageGeneration.generate)
    struct ImageGenerationGenerateIntent {
        var prompt: String?
        var style: <#ImageGenerationStyle#>
        var image: IntentFile?
        var saveToLibrary: <#ImageGenerationSaveMode#>
    
        func perform() async throws -> some ReturnsValue<IntentFile> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var generate: some AppSchemaIntent { get }
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.MessagesIntent
Declaration
extension AppSchema.Intent : AppSchema.MessagesIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.ImageGenerationIntent
Declaration
extension AppSchema.Intent : AppSchema.ImageGenerationIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.AudioIntent
Declaration
extension AppSchema.Intent : AppSchema.AudioIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.RemindersIntent
Declaration
extension AppSchema.Intent : AppSchema.RemindersIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.ClockIntent
Declaration
extension AppSchema.Intent : AppSchema.ClockIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.NotesIntent
Declaration
extension AppSchema.Intent : AppSchema.NotesIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.CalendarIntent
Declaration
extension AppSchema.Intent : AppSchema.CalendarIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.PhoneIntent
Declaration
extension AppSchema.Intent : AppSchema.PhoneIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.MapsIntent
Declaration
extension AppSchema.Intent : AppSchema.MapsIntent {
}
extension

AppSchema.Intent

NewiOSmacOStvOSwatchOS
extension AppSchema.Intent : AppSchema.AppStoreIntent
Declaration
extension AppSchema.Intent : AppSchema.AppStoreIntent {
}
extension

AppSchema.Intent

NewmacOS
extension AppSchema.Intent : AppSchema.VisualIntelligenceIntent
Declaration
extension AppSchema.Intent : AppSchema.VisualIntelligenceIntent {
}
extension

AppSchema.MailEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.MailEntity
Declaration
extension AppSchema.MailEntity {

    /**
    A schema that provides the system with a structured representation for
    a thread entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `mail` domain and its content matches the `thread` schema,
    use the `@AppEntity( .mail.thread)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `thread` schema:
    
    ```swift
    @AppEntity(schema: .mail.thread)
    struct MailThreadEntity {
        // MARK: Static
    
        static let defaultQuery = MailThreadEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var title: String
        var description: String?
        var messages: [<#MailMessageEntity#>]
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct MailThreadEntityQuery: EntityQuery {
            func entities(for identifiers: [MailThreadEntity.ID]) async throws -> [MailThreadEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var thread: some AppSchemaEntity { get }
}
extension

AppSchema.MailIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.MailIntent
Declaration
extension AppSchema.MailIntent {

    /**
    An intent schema that opens an email draft.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `mail` domain
    and one of your app’s actions matches the `openDraft` schema,
    use the `@AppIntent( .mail.openDraft)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `openDraft` schema:
    
    ```swift
    @AppIntent(schema: .mail.openDraft)
    struct MailOpenDraft: OpenIntent {
        var target: <#MailDraftEntity#>
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var openDraft: some AppSchemaIntent { get }

    /**
    A schema that provides a structured representation for an intent that opens an email message.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `mail` domain
    and one of your app’s actions matches the `openMessage` schema,
    use the `@AppIntent( .mail.openMessage)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `openMessage` schema:
    
    ```swift
    @AppIntent(schema: .mail.openMessage)
    struct MailOpenMessage: OpenIntent {
        var target: <#MailMessageEntity#>
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var openMessage: some AppSchemaIntent { get }
}
extension

AppSchema.MapsEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.MapsEntity
Declaration
extension AppSchema.MapsEntity {

    /**
    A schema that provides the system with a structured representation for
    a current location entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `maps` domain and its content matches the `currentLocation` schema,
    use the `@AppEntity( .maps.currentLocation)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `currentLocation` schema:
    
    ```swift
    @AppEntity(schema: .maps.currentLocation)
    struct MapsCurrentLocationEntity {
        // MARK: Static
    
        static let defaultQuery = MapsCurrentLocationEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct MapsCurrentLocationEntityQuery: EntityQuery {
            func entities(for identifiers: [MapsCurrentLocationEntity.ID]) async throws -> [MapsCurrentLocationEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var currentLocation: some AppSchemaEntity { get }

    /**
    A schema that provides the system with a structured representation for
    a navigation session entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `maps` domain and its content matches the `navigationSession` schema,
    use the `@AppEntity( .maps.navigationSession)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `navigationSession` schema:
    
    ```swift
    @AppEntity(schema: .maps.navigationSession)
    struct MapsNavigationSessionEntity: UniqueEntity {
        // MARK: Static
    
        static let defaultQuery = MapsNavigationSessionEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var estimatedArrivalDate: Date
        var waypoints: [<#MapsLocation#>]

Truncated.

extension

AppSchema.MapsEnum

NewiOSmacOStvOSwatchOS
extension AppSchema.MapsEnum
Declaration
extension AppSchema.MapsEnum {

    /**
    A schema that provides the system with a structured representation for
    an incident parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `maps` domain and
    an intent's static parameter type matches the `incident` schema,
    use the `@AppEnum( .maps.incident)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `incident` schema:
    
    ```swift
    @AppEnum(schema: .maps.incident)
    enum MapsIncidentEnum: String {
        case <#MapsIncidentEnum Case#>
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            <#DisplayRepresentations#>
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var incident: some AppSchemaEnum { get }

    /**
    A schema that provides the system with a structured representation for
    a navigation preferences parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `maps` domain and
    an intent's static parameter type matches the `navigationPreferences` schema,
    use the `@AppEnum( .maps.navigationPreferences)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `navigationPreferences` schema:
    
    ```swift
    @AppEnum(schema: .maps.navigationPreferences)
    enum MapsNavigationPreferencesEnum: String {
        case <#MapsNavigationPreferencesEnum Case#>
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            <#DisplayRepresentations#>
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var navigationPreferences: some AppSchemaEnum { get }

Truncated.

extension

AppSchema.MapsIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.MapsIntent
Declaration
extension AppSchema.MapsIntent {

    /**
    A schema that provides a structured representation for an intent that shares ETA to a contact while navigating.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `maps` domain
    and one of your app’s actions matches the `shareETA` schema,
    use the `@AppIntent( .maps.shareETA)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `shareETA` schema:
    
    ```swift
    @AppIntent(schema: .maps.shareETA)
    struct MapsShareETAIntent {
        var person: IntentPerson
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var shareETA: some AppSchemaIntent { get }

    /**
    A schema that provides a structured representation for an intent that starts navigation.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `maps` domain
    and one of your app’s actions matches the `startNavigation` schema,
    use the `@AppIntent( .maps.startNavigation)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `startNavigation` schema:
    
    ```swift
    @AppIntent(schema: .maps.startNavigation)
    struct MapsStartNavigationIntent {
        var transportationType: <#MapsTransportTypeEnum#>
        var origin: <#MapsLocation#>
        var destinations: [<#MapsLocation#>]
        var preferences: Set<<#MapsNavigationPreferencesEnum#>>
    
        func perform() async throws -> some ReturnsValue<<#MapsNavigationSessionEntity#>?> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var startNavigation: some AppSchemaIntent { get }

Truncated.

extension

AppSchema.MessagesEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.MessagesEntity
Declaration
extension AppSchema.MessagesEntity {

    /**
    A schema that provides the system with a structured representation for
    a conversation entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `messages` domain and its content matches the `conversation` schema,
    use the `@AppEntity( .messages.conversation)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `conversation` schema:
    
    ```swift
    @AppEntity(schema: .messages.conversation)
    struct ConversationEntity {
        // MARK: Static
    
        static let defaultQuery = ConversationEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var recipients: [<#MessagePerson#>]
        var displayName: String
        var previewText: AttributedString
        var conversationName: String?
        var isRead: Bool
        var attributes: Set<<#ConversationAttribute#>>
        var dateLastActive: Date?
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct ConversationEntityQuery: EntityQuery {
            func entities(for identifiers: [ConversationEntity.ID]) async throws -> [ConversationEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var conversation: some AppSchemaEntity { get }

    /**
    A schema that provides the system with a structured representation for
    a custom attachment entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `messages` domain and its content matches the `customAttachment` schema,
    use the `@AppEntity( .messages.customAttachment)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `customAttachment` schema:
    
    ```swift
    @AppEntity(schema: .messages.customAttachment)
    struct CustomAttachment {
        // MARK: Static

Truncated.

extension

AppSchema.MessagesEnum

NewiOSmacOStvOSwatchOS
extension AppSchema.MessagesEnum
Declaration
extension AppSchema.MessagesEnum {

    /**
    A schema that provides the system with a structured representation for
    a conversation attribute parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `messages` domain and
    an intent's static parameter type matches the `conversationAttribute` schema,
    use the `@AppEnum( .messages.conversationAttribute)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `conversationAttribute` schema:
    
    ```swift
    @AppEnum(schema: .messages.conversationAttribute)
    enum ConversationAttribute: String {
        case <#ConversationAttribute Case#>
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            <#DisplayRepresentations#>
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var conversationAttribute: some AppSchemaEnum { get }

    /**
    A schema that provides the system with a structured representation for
    a message attribute parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `messages` domain and
    an intent's static parameter type matches the `messageAttribute` schema,
    use the `@AppEnum( .messages.messageAttribute)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `messageAttribute` schema:
    
    ```swift
    @AppEnum(schema: .messages.messageAttribute)
    enum MessageAttribute: String {
        case <#MessageAttribute Case#>
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            <#DisplayRepresentations#>
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var messageAttribute: some AppSchemaEnum { get }

Truncated.

extension

AppSchema.MessagesIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.MessagesIntent
Declaration
extension AppSchema.MessagesIntent {

    /**
    A schema that provides a structured representation for an intent that edits an already sent message with new content.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `messages` domain
    and one of your app’s actions matches the `editSentMessage` schema,
    use the `@AppIntent( .messages.editSentMessage)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `editSentMessage` schema:
    
    ```swift
    @AppIntent(schema: .messages.editSentMessage)
    struct EditSentMessageIntent {
        var message: <#MessageEntity#>
        var content: AttributedString
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var editSentMessage: some AppSchemaIntent { get }

    /**
    A schema that provides a structured representation for an intent that sends a message with the associated parameters.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `messages` domain
    and one of your app’s actions matches the `sendMessage` schema,
    use the `@AppIntent( .messages.sendMessage)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `sendMessage` schema:
    
    ```swift
    @AppIntent(schema: .messages.sendMessage)
    struct SendMessageIntent {
        var content: AttributedString?
        var destination: <#UnionValue#>
        var subject: AttributedString?
        var attachments: [IntentFile]
        var audioMessage: IntentFile?
        var locations: [GeoToolbox.PlaceDescriptor]
        var links: [URL]
        var scheduledDate: Date?
    
        func perform() async throws -> some ReturnsValue<[<#MessageEntity#>]> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts

Truncated.

extension

AppSchema.NotesEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.NotesEntity
Declaration
extension AppSchema.NotesEntity {

    /**
    A schema that provides the system with a structured representation for
    a note entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `notes` domain and its content matches the `note` schema,
    use the `@AppEntity( .notes.note)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `note` schema:
    
    ```swift
    @AppEntity(schema: .notes.note)
    struct NoteEntity {
        // MARK: Static
    
        static let defaultQuery = NoteEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var name: AttributedString
        var content: AttributedString?
        var attachments: [IntentFile]
        var tags: [<#TagEntity#>]
        var isPinned: Bool
        var creationDate: Date?
        var modificationDate: Date?
        var folder: <#FolderEntity#>?
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct NoteEntityQuery: EntityQuery {
            func entities(for identifiers: [NoteEntity.ID]) async throws -> [NoteEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var note: some AppSchemaEntity { get }

    /**
    A schema that provides the system with a structured representation for
    a tag entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `notes` domain and its content matches the `tag` schema,
    use the `@AppEntity( .notes.tag)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `tag` schema:
    
    ```swift
    @AppEntity(schema: .notes.tag)
    struct TagEntity {
        // MARK: Static

Truncated.

extension

AppSchema.NotesIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.NotesIntent
Declaration
extension AppSchema.NotesIntent {

    /**
    A schema that provides a structured representation for an intent that creates a new note.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `notes` domain
    and one of your app’s actions matches the `createNote` schema,
    use the `@AppIntent( .notes.createNote)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `createNote` schema:
    
    ```swift
    @AppIntent(schema: .notes.createNote)
    struct CreateNoteIntent {
        var name: String
        var content: AttributedString?
        var attachments: [IntentFile]
        var tags: [<#TagEntity#>]
        var isPinned: Bool
        var folder: <#FolderEntity#>?
    
        func perform() async throws -> some ReturnsValue<<#NoteEntity#>> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var createNote: some AppSchemaIntent { get }

    /**
    A schema that provides a structured representation for an intent that updates a note.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `notes` domain
    and one of your app’s actions matches the `updateNote` schema,
    use the `@AppIntent( .notes.updateNote)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `updateNote` schema:
    
    ```swift
    @AppIntent(schema: .notes.updateNote)
    struct UpdateNoteIntent {
        var target: <#NoteEntity#>
        var name: String?
        var attachments: [IntentFile]?
        var tags: [<#TagEntity#>]?
        var isPinned: Bool?
        var folder: <#FolderEntity#>?
    
        func perform() async throws -> some ReturnsValue<<#NoteEntity#>> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients

Truncated.

extension

AppSchema.PhoneEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.PhoneEntity
Declaration
extension AppSchema.PhoneEntity {

    /**
    A schema that provides the system with a structured representation for
    a phone person entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `phone` domain and its content matches the `phonePerson` schema,
    use the `@AppEntity( .phone.phonePerson)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `phonePerson` schema:
    
    ```swift
    @AppEntity(schema: .phone.phonePerson)
    struct PhonePerson {
        // MARK: Static
    
        static let defaultQuery = PhonePersonQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var person: IntentPerson
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct PhonePersonQuery: EntityQuery {
            func entities(for identifiers: [PhonePerson.ID]) async throws -> [PhonePerson] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var phonePerson: some AppSchemaEntity { get }
}
extension

AppSchema.PhoneEnum

NewiOSmacOStvOSwatchOS
extension AppSchema.PhoneEnum
Declaration
extension AppSchema.PhoneEnum {

    /**
    A schema that provides the system with a structured representation for
    an audio visual mode parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `phone` domain and
    an intent's static parameter type matches the `audioVisualMode` schema,
    use the `@AppEnum( .phone.audioVisualMode)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `audioVisualMode` schema:
    
    ```swift
    @AppEnum(schema: .phone.audioVisualMode)
    enum CallAVMode: String {
        case audio
        case video
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .audio: "Audio",
            .video: "Video"
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var audioVisualMode: some AppSchemaEnum { get }
}
extension

AppSchema.PhoneIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.PhoneIntent
Declaration
extension AppSchema.PhoneIntent {

    /**
    A schema that provides a structured representation for an intent that starts a call to a person, handle, or named group.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `phone` domain
    and one of your app’s actions matches the `startCall` schema,
    use the `@AppIntent( .phone.startCall)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `startCall` schema:
    
    ```swift
    @AppIntent(schema: .phone.startCall)
    struct StartCallIntent: AudioRecordingIntent, AudioStartingIntent {
        var destination: <#UnionValue#>
        var audioVisualMode: <#CallAVMode#>
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var startCall: some AppSchemaIntent { get }
}
extension

AppSchema.PhotosEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.PhotosEntity
Declaration
extension AppSchema.PhotosEntity {

    /**
    A schema that provides the system with a structured representation for
    an asset entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `photos` domain and its content matches the `asset` schema,
    use the `@AppEntity( .photos.asset)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `asset` schema:
    
    ```swift
    @AppEntity(schema: .photos.asset)
    struct PhotoEntity {
        // MARK: Static
    
        static let defaultQuery = PhotoEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var creationDate: Date?
        var location: GeoToolbox.PlaceDescriptor?
        var assetType: <#PhotoAssetType#>?
        var isFavorite: Bool
        var isHidden: Bool
        var hasSuggestedEdits: Bool
        var aperture: Double?
        var exposure: Double?
        var saturation: Double?
        var warmth: Double?
        var filter: <#PhotoFilterEffectType#>?
        var isPortraitModeEnabled: Bool?
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct PhotoEntityQuery: EntityQuery {
            func entities(for identifiers: [PhotoEntity.ID]) async throws -> [PhotoEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var asset: some AppSchemaEntity { get }
}
extension

AppSchema.PhotosIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.PhotosIntent
Declaration
extension AppSchema.PhotosIntent {

    /**
    A schema that provides a structured representation for an intent that opens the specified photo to edit.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `photos` domain
    and one of your app’s actions matches the `editAsset` schema,
    use the `@AppIntent( .photos.editAsset)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `editAsset` schema:
    
    ```swift
    @AppIntent(schema: .photos.editAsset)
    struct EditAsset {
        var asset: <#PhotoEntity#>
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var editAsset: some AppSchemaIntent { get }
}
extension

AppSchema.RemindersEntity

NewiOSmacOStvOSwatchOS
extension AppSchema.RemindersEntity
Declaration
extension AppSchema.RemindersEntity {

    /**
    A schema that provides the system with a structured representation for
    a group entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `reminders` domain and its content matches the `group` schema,
    use the `@AppEntity( .reminders.group)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `group` schema:
    
    ```swift
    @AppEntity(schema: .reminders.group)
    struct GroupEntity {
        // MARK: Static
    
        static let defaultQuery = GroupEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>
    
        var name: String
        var lists: [<#ListEntity#>]
    
        var displayRepresentation: DisplayRepresentation {
            <#DisplayRepresentation#>
        }
    
        // MARK: Query
    
        struct GroupEntityQuery: EntityQuery {
            func entities(for identifiers: [GroupEntity.ID]) async throws -> [GroupEntity] {
                <#code#>
            }
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var group: some AppSchemaEntity { get }

    /**
    A schema that provides the system with a structured representation for
    a list entity.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your content. An ``AppEntity`` that conforms to a schema provides this structured
    representation. If your app's functionality aligns with the `reminders` domain and its content matches the `list` schema,
    use the `@AppEntity( .reminders.list)` Swift macro to automatically generate required properties and add protocol conformance
    to your app entity implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app entity that conforms to the `list` schema:
    
    ```swift
    @AppEntity(schema: .reminders.list)
    struct ListEntity {
        // MARK: Static
    
        static let defaultQuery = ListEntityQuery()
    
        // MARK: Properties
    
        let id: <#Identifiable.ID#>

Truncated.

extension

AppSchema.RemindersEnum

NewiOSmacOStvOSwatchOS
extension AppSchema.RemindersEnum
Declaration
extension AppSchema.RemindersEnum {

    /**
    A schema that provides the system with a structured representation for
    a list type parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `reminders` domain and
    an intent's static parameter type matches the `listType` schema,
    use the `@AppEnum( .reminders.listType)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `listType` schema:
    
    ```swift
    @AppEnum(schema: .reminders.listType)
    enum ListType: String {
        case standard
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .standard: "Standard"
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var listType: some AppSchemaEnum { get }

    /**
    A schema that provides the system with a structured representation for
    a location trigger event parameter.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of each static intent parameter type. An ``AppEnum`` that conforms to a schema
    provides this structured representation. If your app's functionality aligns with the `reminders` domain and
    an intent's static parameter type matches the `locationTriggerEvent` schema,
    use the `@AppEnum( .reminders.locationTriggerEvent)` Swift macro
    to automatically generate required
    protocol conformance for your app enum implementation.
    Then, integrate your app with Siri and Apple Intelligence as
    described in <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an app enum that conforms to the `locationTriggerEvent` schema:
    
    ```swift
    @AppEnum(schema: .reminders.locationTriggerEvent)
    enum LocationTriggerEvent: String {
        case arrive
        case depart
    
        static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
            .arrive: "Arrive",
            .depart: "Depart"
        ]
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */

Truncated.

extension

AppSchema.RemindersIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.RemindersIntent
Declaration
extension AppSchema.RemindersIntent {

    /**
    A schema that provides a structured representation for an intent that creates a new reminder list.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `reminders` domain
    and one of your app’s actions matches the `createList` schema,
    use the `@AppIntent( .reminders.createList)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `createList` schema:
    
    ```swift
    @AppIntent(schema: .reminders.createList)
    struct CreateListIntent {
        var name: String?
        var type: <#ListType#>
    
        func perform() async throws -> some ReturnsValue<<#ListEntity#>> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var createList: some AppSchemaIntent { get }

    /**
    A schema that provides a structured representation for an intent that creates a new reminder.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `reminders` domain
    and one of your app’s actions matches the `createReminder` schema,
    use the `@AppIntent( .reminders.createReminder)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `createReminder` schema:
    
    ```swift
    @AppIntent(schema: .reminders.createReminder)
    struct CreateReminderIntent {
        var title: String
        var list: <#ListEntity#>?
        var note: AttributedString?
        var isFlagged: Bool?
        var images: [IntentFile]
        var tags: Set<String>
        var urls: [URL]
        var dueDate: DateComponents?
        var recurrence: Calendar.RecurrenceRule?
        var locationTrigger: <#LocationTriggerEntity#>?
        var section: <#SectionEntity#>?
    
        func perform() async throws -> some ReturnsValue<<#ReminderEntity#>> {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients

Truncated.

extension

AppSchema.SystemIntent

NewiOSmacOStvOSwatchOS
extension AppSchema.SystemIntent
Declaration
extension AppSchema.SystemIntent {

    /**
    A schema that provides a structured representation for an intent that opens the specified item in the application.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `system` domain
    and one of your app’s actions matches the `open` schema,
    use the `@AppIntent( .system.open)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `open` schema:
    
    ```swift
    @AppIntent(schema: .system.open)
    struct OpenIntent: OpenIntent {
        var target: <#any AppEntity#>
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Siri
    - Shortcuts
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var open: some AppSchemaIntent { get }
}
extension

AppSchema.VisualIntelligenceIntent

NewmacOS
extension AppSchema.VisualIntelligenceIntent
Declaration
extension AppSchema.VisualIntelligenceIntent {

    /**
    A schema that provides a structured representation for an intent that shows more and richer visual search results in the app.
    
    ## Overview
    
    To integrate your app’s functionality with Siri and Apple Intelligence,
    the system needs a structured representation of your app's action.
    An ``AppIntent`` that conforms to a schema provides this
    structured representation. If your app's functionality aligns with the `visualIntelligence` domain
    and one of your app’s actions matches the `semanticContentSearch` schema,
    use the `@AppIntent( .visualIntelligence.semanticContentSearch)` Swift macro
    to automatically generate required properties and add protocol conformance
    to your intent implementation. Then, integrate your app with Siri and Apple Intelligence as described in
    <doc://com.apple.documentation/documentation/appintents/siri-and-apple-intelligence>.
    
    The following example shows an intent that conforms to the `semanticContentSearch` schema:
    
    ```swift
    @AppIntent(schema: .visualIntelligence.semanticContentSearch)
    struct ShowVisualSearchResultsInAppIntent {
        var semanticContent: VisualIntelligence.SceneDescriptor
    
        func perform() async throws -> some IntentResult {
            <#code#>
        }
    }
    ```
    
    ## Supported Clients
    
    - Shortcuts
    - Visual Intelligence
    
    For general information about the App Intents framework and the system experiences it enables,
    see <doc://com.apple.documentation/documentation/appintents/Making-actions-and-content-discoverable-and-widely-available>.
    */
    public var semanticContentSearch: some AppSchemaIntent { get }
}
extension

AppSchemaEnum

NewiOSmacOStvOSwatchOS
extension AppSchemaEnum where Self == AppSchema.Enum
Declaration
extension AppSchemaEnum where Self == AppSchema.Enum {

    /// App enum schema conformance for types you use for maps functionality.
    public static var maps: some AppSchema.MapsEnum { get }
}
protocol

AppUnionValue

NewiOSmacOStvOSwatchOS
public protocol AppUnionValue : TypeDisplayRepresentable

A protocol that provides nominal type identity and metadata for union values.

Union values conforming to this protocol can be used as Shortcuts parameters with rich metadata support, enabling appropriate picker UI and parameter summaries.

The @UnionValue macro automatically generates conformance to this protocol. You can provide custom metadata by implementing the protocol requirements in an extension.

Example:

@UnionValue
enum Reaction {
    case tapback(Tapback)
    case text(String)
}

extension Reaction {
    static var typeDisplayRepresentation: TypeDisplayRepresentation {
        "Reaction"
    }

    static let caseDisplayRepresentations: [Cases: DisplayRepresentation] = [
        .tapback: "Tapback",
        .text: "Text Reaction"
    ]
}
Declaration
public protocol AppUnionValue : TypeDisplayRepresentable {

    /// The nominal type representing the cases of this union value.
    ///
    /// This associated type is automatically generated by the `@UnionValue` macro
    /// as an enum conforming to `AppUnionValueCasesProviding`.
    associatedtype Cases : AppUnionValueCasesProviding where Self == Self.Cases.UnionValue

    /// A dictionary that maps each case to the visual elements that represent it.
    static var caseDisplayRepresentations: [Self.Cases : DisplayRepresentation] { get }
}
extension

AppUnionValue

NewiOSmacOStvOSwatchOS
extension AppUnionValue
Declaration
extension AppUnionValue {

    /// Default implementation providing an empty type display representation.
    public static var typeDisplayRepresentation: TypeDisplayRepresentation { get }

    /// Default implementation providing an empty case display representations dictionary.
    public static var caseDisplayRepresentations: [Self.Cases : DisplayRepresentation] { get }
}
protocol

AppUnionValueCasesProviding

NewiOSmacOStvOSwatchOS
public protocol AppUnionValueCasesProviding : AppEnum

A protocol for the cases enumeration of an AppUnionValue.

This protocol is automatically conformed to by the Cases enum generated by the @UnionValue macro. It bridges the cases enum back to the union value type and inherits metadata through the AppEnum conformance.

Declaration
public protocol AppUnionValueCasesProviding : AppEnum {

    /// The union value type that this cases enum represents.
    associatedtype UnionValue : AppUnionValue where Self == Self.UnionValue.Cases
}
extension

AppUnionValueCasesProviding

NewiOSmacOStvOSwatchOS
extension AppUnionValueCasesProviding
Declaration
extension AppUnionValueCasesProviding {

    /// Inherits type display representation from the associated union value type.
    public static var typeDisplayRepresentation: TypeDisplayRepresentation { get }

    /// Inherits case display representations from the associated union value type.
    public static var caseDisplayRepresentations: [Self : DisplayRepresentation] { get }
}
struct

AudioContext

NewiOSmacOStvOSwatchOS
public struct AudioContext : Hashable, Sendable

Specifies the type of audio activity to associate with a suggested entity, allowing the system to surface relevant suggestions at the right moment.

Declaration
public struct AudioContext : Hashable, Sendable {

    /// The Now Playing control or complication.
    ///
    /// Use this to donate entities relevant to the Now Playing control or complication in the system.
    public static var nowPlaying: AudioContext { get }

    /// Returns a Boolean value indicating whether two values are equal.
    ///
    /// Equality is the inverse of inequality. For any values `a` and `b`,
    /// `a == b` implies that `a != b` is `false`.
    ///
    /// - Parameters:
    ///   - lhs: A value to compare.
    ///   - rhs: Another value to compare.
    public static func == (a: AudioContext, b: AudioContext) -> Bool

    /// Hashes the essential components of this value by feeding them into the
    /// given hasher.
    ///
    /// Implement this method to conform to the `Hashable` protocol. The
    /// components used for hashing must be the same as the components compared
    /// in your type's `==` operator implementation. Call `hasher.combine(_:)`
    /// with each of these components.
    ///
    /// - Important: In your implementation of `hash(into:)`,
    ///   don't call `finalize()` on the `hasher` instance provided,
    ///   or replace it with a different instance.
    ///   Doing so may become a compile-time error in the future.
    ///
    /// - Parameter hasher: The hasher to use when combining the components
    ///   of this instance.
    public func hash(into hasher: inout Hasher)

    /// The hash value.
    ///
    /// Hash values are not guaranteed to be equal across different executions of
    /// your program. Do not save hash values to use during a future execution.
    ///
    /// - Important: `hashValue` is deprecated as a `Hashable` requirement. To
    ///   conform to `Hashable`, implement the `hash(into:)` requirement instead.
    ///   The compiler provides an implementation for `hashValue` for you.
    public var hashValue: Int { get }
}
extension

AudioContext

NewiOSmacOSwatchOS
extension AudioContext
Declaration
extension AudioContext {

    /// A workout session of any type.
    ///
    /// Use this to donate entities relevant to any workout,
    /// regardless of activity type or intensity.
    ///
    /// You can donate entities to multiple workout contexts simultaneously.
    /// More specific contexts (e.g., a specific activity type) give the system
    /// stronger hints than broader ones (e.g., any workout). The system
    /// considers all matching entities and their relevance when determining
    /// what to suggest.
    public static var workout: AudioContext { get }

    /// A workout session of the given activity type.
    ///
    /// - Parameter activityType: The type of workout in progress.
    public static func workout(activityType: HKWorkoutActivityType) -> AudioContext

    /// A workout session of the given intensity level.
    ///
    /// - Parameter intensityLevel: The intensity of the workout.
    public static func workout(intensityLevel: AudioContext.WorkoutIntensityLevel) -> AudioContext

    /// The intensity level of a workout session.
    ///
    /// Use this type to specify a workout intensity level when donating entities
    /// for workout contexts. You can also initialize it with an `HKWorkoutActivityType`
    /// to donate entities for a specific workout type.
    public struct WorkoutIntensityLevel : Hashable, Sendable {

        public let rawValue: UInt

        public init(rawValue: UInt)

        /// Creates an intensity level from an `HKWorkoutActivityType`.
        public init(_ workoutActivityType: HKWorkoutActivityType)

        /// A low-intensity workout such as yoga, stretching, or walking.
        public static let low: AudioContext.WorkoutIntensityLevel

        /// A medium-intensity workout such as cycling, hiking, or swimming.
        public static let medium: AudioContext.WorkoutIntensityLevel

        /// A high-intensity workout such as running, HIIT, or cross-training.
        public static let high: AudioContext.WorkoutIntensityLevel

        /// Returns a Boolean value indicating whether two values are equal.
        ///
        /// Equality is the inverse of inequality. For any values `a` and `b`,
        /// `a == b` implies that `a != b` is `false`.
        ///
        /// - Parameters:
        ///   - lhs: A value to compare.
        ///   - rhs: Another value to compare.
        public static func == (a: AudioContext.WorkoutIntensityLevel, b: AudioContext.WorkoutIntensityLevel) -> Bool

        /// Hashes the essential components of this value by feeding them into the
        /// given hasher.
        ///
        /// Implement this method to conform to the `Hashable` protocol. The
        /// components used for hashing must be the same as the components compared
        /// in your type's `==` operator implementation. Call `hasher.combine(_:)`
        /// with each of these components.
        ///
        /// - Important: In your implementation of `hash(into:)`,
        ///   don't call `finalize()` on the `hasher` instance provided,
        ///   or replace it with a different instance.
        ///   Doing so may become a compile-time error in the future.
        ///
        /// - Parameter hasher: The hasher to use when combining the components
        ///   of this instance.
        public func hash(into hasher: inout Hasher)

        /// The hash value.
        ///
        /// Hash values are not guaranteed to be equal across different executions of
        /// your program. Do not save hash values to use during a future execution.
        ///
        /// - Important: `hashValue` is deprecated as a `Hashable` requirement. To

Truncated.

extension

Calendar.RecurrenceRule

NewiOSmacOStvOSwatchOS
extension Calendar.RecurrenceRule : @retroactive IntentValueConvertible
Declaration
extension Calendar.RecurrenceRule : @retroactive IntentValueConvertible {
}
extension

CSSearchableItem

NewiOSmacOS
extension CSSearchableItem
Declaration
extension CSSearchableItem {

    /// The identifier of the related indexed entity for this searchable item.
    ///
    /// Convenience property that forwards to the item's attribute set.
    /// Use this property to associate a child searchable item such as
    /// an attachment or embedded content with its parent
    /// `IndexedEntity` instance.
    ///
    /// Only an identifier reference is stored. No entity content is
    /// embedded in the child item.
    ///
    /// Setting this property again replaces the previously set identifier.
    public var relatedAppEntityIdentifier: EntityIdentifier?
}
protocol

CustomAppIntentErrorConvertible

NewiOSmacOStvOSwatchOS
public protocol CustomAppIntentErrorConvertible

A type that the system automatically converts to an app intent error.

Conform your custom type to this protocol when you need full control over the AppIntentError that the system produces — including the error kind and localized description. When you throw a conforming error from a method such as perform() or entities(for:), the framework reads the appIntentError property and uses it directly.

If an error conforms to both <doc://com.apple.documentation/documentation/foundation/CustomLocalizedStringResourceConvertible> and CustomAppIntentErrorConvertible, the system uses only CustomAppIntentErrorConvertible.

Declaration
public protocol CustomAppIntentErrorConvertible {

    var appIntentError: AppIntentError { get }
}
extension

CVReadOnlyPixelBuffer

NewiOSmacOStvOSwatchOS
extension CVReadOnlyPixelBuffer : @retroactive IntentValueConvertible
Declaration
extension CVReadOnlyPixelBuffer : @retroactive IntentValueConvertible {
}
extension

CVReadOnlyPixelBuffer

NewiOSmacOStvOSwatchOS
extension CVReadOnlyPixelBuffer : @retroactive IntentValueExpressing
Declaration
extension CVReadOnlyPixelBuffer : @retroactive IntentValueExpressing {
}
extension

CVReadOnlyPixelBuffer

NewiOSmacOStvOSwatchOS
extension CVReadOnlyPixelBuffer
Declaration
extension CVReadOnlyPixelBuffer {

    public static var defaultResolverSpecification: EmptyResolverSpecification<CVReadOnlyPixelBuffer> { get }

    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias Specification = EmptyResolverSpecification<CVReadOnlyPixelBuffer>

    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias UnwrappedType = CVReadOnlyPixelBuffer

    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias ValueType = CVReadOnlyPixelBuffer
}
struct

EntityCollection

NewiOSmacOStvOSwatchOS
public struct EntityCollection<Entity> : Equatable, Sendable where Entity : AppEntity

An array of entity identifiers that you use to improve the efficiency of operations involving large numbers of entities.

Use an EntityCollection type to manage large numbers of entities in an app intent or app entity. An entity collection stores the identifier for each entity initially and provides an option to fetch the entire AppEntity instances later if needed. Storing only the identifiers initially can save memory and speed up operations that don’t require the entire entity instance.

If you need to store the identifiers for multiple entities, use EntityCollection as the type of your variable. If you use an EntityCollection for a parameter in an app intent, the system doesn’t force the resolution of each identifier to the full AppEntity instance during parameter resolution. For a parameter that contains hundreds of entities, not resolving each identifier can save time and memory at a potentially critical moment.

The following example shows the use of an EntityCollection in an app intent to disable multiple alarms. Because the code to disable the alarms requires only the identifier for each entity, the type stores those values using an entity collection.

struct DisableAlarmsIntent: AppIntent {
    static var title: LocalizedStringResource = "Disable Alarms"

    @Parameter(title: "Alarms")
    var alarms: EntityCollection<AlarmEntity>

    func perform() async throws -> some IntentResult {
        // Use the identifiers in the database query without hydration.
        try await AlarmService.disable(alarms.identifiers)

        return .result()
    }
}

When you need more than just entity identifiers, you can call resolvedEntities() to generate the AppEntity instances for each identifier. The method uses your app’s query types to find or create the corresponding entity instances. After retrieving the entities, the entity collection caches those instances for future access.

Declaration
public struct EntityCollection<Entity> : Equatable, Sendable where Entity : AppEntity {

    /// The entity identifiers in the collection.
    ///
    /// Use this property to retrieve the entity identifiers from the collection. You might use
    /// an identifier to retrieve an individual ``AppEntity`` instance from your app.
    public var identifiers: [Entity.ID]

    /// Creates a new entity identifier collection.
    ///
    /// - Parameters:
    ///    - identifiers: The entity identifiers to add to the collection.
    public init(identifiers: [Entity.ID] = [])

    /// Creates a new entity identifier collection from entities.
    ///
    /// - Parameters:
    ///    - entities: The entities to add to the collection.
    ///
    /// This initializer adds the identifier for each entity to the collection and caches the
    /// entity instances for fast retrieval later.
    public init(entities: [Entity])

    /// The number of entity identifiers in this collection.
    public var count: Int { get }

    /// A Boolean value that indicates whether the collection is empty.
    ///
    /// The value of this property is `true` if the collection is empty, or `false` if the
    /// collection has one or more identifiers.
    public var isEmpty: Bool { get }

    /// Returns a Boolean value indicating whether two values are equal.
    ///
    /// Equality is the inverse of inequality. For any values `a` and `b`,
    /// `a == b` implies that `a != b` is `false`.
    ///
    /// - Parameters:
    ///   - lhs: A value to compare.
    ///   - rhs: Another value to compare.
    public static func == (lhs: EntityCollection<Entity>, rhs: EntityCollection<Entity>) -> Bool
}
extension

EntityCollection

NewiOSmacOStvOSwatchOS
extension EntityCollection
Declaration
extension EntityCollection {

    public typealias ValueType = Entity

    public typealias UnwrappedType = EntityCollection<Entity>

    public static var defaultResolverSpecification: some ResolverSpecification { get }

    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias Specification = some ResolverSpecification
}
extension

EntityCollection

NewiOSmacOStvOSwatchOS
extension EntityCollection : Collection
Declaration
extension EntityCollection : Collection {

    /// The position of the first element in a nonempty collection.
    ///
    /// If the collection is empty, `startIndex` is equal to `endIndex`.
    public var startIndex: Int { get }

    /// The collection's "past the end" position---that is, the position one
    /// greater than the last valid subscript argument.
    ///
    /// When you need a range that includes the last element of a collection, use
    /// the half-open range operator (`..<`) with `endIndex`. The `..<` operator
    /// creates a range that doesn't include the upper bound, so it's always
    /// safe to use with `endIndex`. For example:
    ///
    ///     let numbers = [10, 20, 30, 40, 50]
    ///     if let index = numbers.firstIndex(of: 30) {
    ///         print(numbers[index ..< numbers.endIndex])
    ///     }
    ///     // Prints "[30, 40, 50]"
    ///
    /// If the collection is empty, `endIndex` is equal to `startIndex`.
    public var endIndex: Int { get }

    /// Accesses the element at the specified position.
    ///
    /// The following example accesses an element of an array through its
    /// subscript to print its value:
    ///
    ///     var streets = ["Adams", "Bryant", "Channing", "Douglas", "Evarts"]
    ///     print(streets[1])
    ///     // Prints "Bryant"
    ///
    /// You can subscript a collection with any valid index other than the
    /// collection's end index. The end index refers to the position one past
    /// the last element of a collection, so it doesn't correspond with an
    /// element.
    ///
    /// - Parameter position: The position of the element to access. `position`
    ///   must be a valid index of the collection that is not equal to the
    ///   `endIndex` property.
    ///
    /// - Complexity: O(1)
    public subscript(position: Int) -> Entity.ID { get }

    /// Returns the position immediately after the given index.
    ///
    /// The successor of an index must be well defined. For an index `i` into a
    /// collection `c`, calling `c.index(after: i)` returns the same index every
    /// time.
    ///
    /// - Parameter i: A valid index of the collection. `i` must be less than
    ///   `endIndex`.
    /// - Returns: The index value immediately after `i`.
    public func index(after i: Int) -> Int

    /// A type representing the sequence's elements.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias Element = Entity.ID

    /// A type that represents a position in the collection.
    ///
    /// Valid indices consist of the position of every element and a
    /// "past the end" position that's not valid for use as a subscript
    /// argument.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias Index = Int

    /// A type that represents the indices that are valid for subscripting the
    /// collection, in ascending order.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias Indices = DefaultIndices<EntityCollection<Entity>>

    /// A type that provides the collection's iteration interface and
    /// encapsulates its iteration state.
    ///
    /// By default, a collection conforms to the `Sequence` protocol by
    /// supplying `IndexingIterator` as its associated `Iterator`
    /// type.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)

Truncated.

extension

EntityCollection

NewiOSmacOStvOSwatchOS
extension EntityCollection : ExpressibleByArrayLiteral
Declaration
extension EntityCollection : ExpressibleByArrayLiteral {

    /// Creates an instance initialized with the given elements.
    public init(arrayLiteral elements: Entity.ID...)

    /// The type of the elements of an array literal.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias ArrayLiteralElement = Entity.ID
}
struct

EntityOwnership

NewiOSmacOStvOSwatchOS
public struct EntityOwnership : OptionSet, Sendable

A type that represents the ownership and sharing characteristics of an app entity.

The EntityOwnership structure provides flag-based ownership information. Specify a single state, or combine multiple states using an <doc://com.apple.documentation/documentation/swift/optionset>, as shown in the following example:

// Single ownership and sharing state:
var ownership: EntityOwnership { .shared }

// or

// Combined ownership and sharing states:
var ownership: EntityOwnership { [.shared, .public] }
Declaration
public struct EntityOwnership : OptionSet, Sendable {

    /// The corresponding value of the raw type.
    ///
    /// A new instance initialized with `rawValue` will be equivalent to this
    /// instance. For example:
    ///
    ///     enum PaperSize: String {
    ///         case A4, A5, Letter, Legal
    ///     }
    ///
    ///     let selectedSize = PaperSize.Letter
    ///     print(selectedSize.rawValue)
    ///     // Prints "Letter"
    ///
    ///     print(selectedSize == PaperSize(rawValue: selectedSize.rawValue)!)
    ///     // Prints "true"
    public let rawValue: Int

    /// Creates a new option set from the given raw value.
    ///
    /// This initializer always succeeds, even if the value passed as `rawValue`
    /// exceeds the static properties declared as part of the option set. This
    /// example creates an instance of `ShippingOptions` with a raw value beyond
    /// the highest element, with a bit mask that effectively contains all the
    /// declared static members.
    ///
    ///     let extraOptions = ShippingOptions(rawValue: 255)
    ///     print(extraOptions.isStrictSuperset(of: .all))
    ///     // Prints "true"
    ///
    /// - Parameter rawValue: The raw value of the option set to create. Each bit
    ///   of `rawValue` potentially represents an element of the option set,
    ///   though raw values may include bits that are not defined as distinct
    ///   values of the `OptionSet` type.
    public init(rawValue: Int)

    /// A state that indicates that entity ownership or sharing status is unknown or unspecified.
    public static let unknown: EntityOwnership

    /// A state that indicates a person shares the entity with specific collaborators.
    public static let shared: EntityOwnership

    /// A state that indicates the entity represents data a person shares publicly.
    public static let `public`: EntityOwnership

    /// The type of the elements of an array literal.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias ArrayLiteralElement = EntityOwnership

    /// The element type of the option set.
    ///
    /// To inherit all the default implementations from the `OptionSet` protocol,
    /// the `Element` type must be `Self`, the default.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias Element = EntityOwnership

    /// The raw type that can be used to represent all values of the conforming
    /// type.
    ///
    /// Every distinct value of the conforming type has a corresponding unique
    /// value of the `RawValue` type, but there may be values of the `RawValue`
    /// type that don't have a corresponding value of the conforming type.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias RawValue = Int
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType : AppEntity
Declaration
extension EntityProperty where Value.ValueType : AppEntity {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType : FileEntity
Declaration
extension EntityProperty where Value.ValueType : FileEntity {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType : AppEnum
Declaration
extension EntityProperty where Value.ValueType : AppEnum {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOStvOSwatchOS
extension EntityProperty where Value.ValueType : _IntentValueRepresentable
Declaration
extension EntityProperty where Value.ValueType : _IntentValueRepresentable {

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    public convenience init(identifier: String)

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    public convenience init(identifier: String, title: LocalizedStringResource)

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>)

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init(identifier: String, customIndexingKey: CSCustomAttributeKey)

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - getter: The getter reference for the property
    public convenience init<Entity>(identifier: String, getter: KeyPath<Entity, Value>) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - getSetter: The getter reference for the property
    public convenience init<Entity>(identifier: String, getSetter: WritableKeyPath<Entity, Value>) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - asyncGetter: The getter reference for the property
    public convenience init<Entity>(identifier: String, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - getter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, getter: KeyPath<Entity, Value>) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - getSetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, getSetter: WritableKeyPath<Entity, Value>) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - getter: The getter reference for the property

Truncated.

extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType : _SystemIntentValue
Declaration
extension EntityProperty where Value.ValueType : _SystemIntentValue {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == AttributedString
Declaration
extension EntityProperty where Value.ValueType == AttributedString {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Bool
Declaration
extension EntityProperty where Value.ValueType == Bool {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == CLPlacemark
Declaration
extension EntityProperty where Value.ValueType == CLPlacemark {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType : Decodable, Value.ValueType : Encodable
Declaration
extension EntityProperty where Value.ValueType : Decodable, Value.ValueType : Encodable {

    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOStvOSwatchOS
extension EntityProperty where Value.ValueType == CVReadOnlyPixelBuffer
Declaration
extension EntityProperty where Value.ValueType == CVReadOnlyPixelBuffer {

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    public convenience init(identifier: String)

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    public convenience init(identifier: String, title: LocalizedStringResource)

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>)

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init(identifier: String, customIndexingKey: CSCustomAttributeKey)

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - getter: The getter reference for the property
    public convenience init<Entity>(identifier: String, getter: KeyPath<Entity, Value>) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - getSetter: The getter reference for the property
    public convenience init<Entity>(identifier: String, getSetter: WritableKeyPath<Entity, Value>) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - asyncGetter: The getter reference for the property
    public convenience init<Entity>(identifier: String, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - getter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, getter: KeyPath<Entity, Value>) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - getSetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, getSetter: WritableKeyPath<Entity, Value>) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - getter: The getter reference for the property

Truncated.

extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Date
Declaration
extension EntityProperty where Value.ValueType == Date {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == DateComponents
Declaration
extension EntityProperty where Value.ValueType == DateComponents {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Double
Declaration
extension EntityProperty where Value.ValueType == Double {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Duration
Declaration
extension EntityProperty where Value.ValueType == Duration {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOStvOSwatchOS
extension EntityProperty
Declaration
extension EntityProperty {

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    public convenience init<Entity>(identifier: String) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - getter: The getter reference for the property
    public convenience init<Entity>(identifier: String, getter: KeyPath<Entity, Value>) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - getSetter: The getter reference for the property
    public convenience init<Entity>(identifier: String, getSetter: WritableKeyPath<Entity, Value>) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - asyncGetter: The getter reference for the property
    public convenience init<Entity>(identifier: String, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - getter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, getter: KeyPath<Entity, Value>) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - getSetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, getSetter: WritableKeyPath<Entity, Value>) where Entity : AppEntity, Value.ValueType == EntityCollection<Entity>

    /// Creates an app intent entity property.  Do not call this directly, use @ComputedProperty or @DeferredProperty
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - getter: The getter reference for the property

Truncated.

extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Int
Declaration
extension EntityProperty where Value.ValueType == Int {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitDuration>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitDuration> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitEnergy>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitEnergy> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitLength>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitLength> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitMass>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitMass> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitSpeed>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitSpeed> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitTemperature>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitTemperature> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitVolume>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitVolume> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitAcceleration>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitAcceleration> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitAngle>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitAngle> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitArea>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitArea> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitConcentrationMass>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitConcentrationMass> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitDispersion>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitDispersion> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitElectricCharge>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitElectricCharge> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitElectricCurrent>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitElectricCurrent> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitElectricPotentialDifference>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitElectricPotentialDifference> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitElectricResistance>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitElectricResistance> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitFrequency>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitFrequency> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitFuelEfficiency>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitFuelEfficiency> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitIlluminance>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitIlluminance> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitInformationStorage>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitInformationStorage> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitPower>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitPower> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Measurement<UnitPressure>
Declaration
extension EntityProperty where Value.ValueType == Measurement<UnitPressure> {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == Calendar.RecurrenceRule
Declaration
extension EntityProperty where Value.ValueType == Calendar.RecurrenceRule {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == String
Declaration
extension EntityProperty where Value.ValueType == String {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == URL
Declaration
extension EntityProperty where Value.ValueType == URL {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == IntentCurrencyAmount
Declaration
extension EntityProperty where Value.ValueType == IntentCurrencyAmount {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == IntentFile
Declaration
extension EntityProperty where Value.ValueType == IntentFile {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == IntentPaymentMethod
Declaration
extension EntityProperty where Value.ValueType == IntentPaymentMethod {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
extension

EntityProperty

NewiOSmacOS
extension EntityProperty where Value.ValueType == IntentPerson
Declaration
extension EntityProperty where Value.ValueType == IntentPerson {

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - indexingKey: A Spotlight attribute set key mapping for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, indexingKey: PartialKeyPath<CSSearchableItemAttributeSet>, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity

    /// Creates an app intent entity property.  Do not call this directly, use @Property
    ///
    /// - Parameters:
    ///   - identifier: The identifier of the property
    ///   - title: A word or short phrase summarizing this property.
    ///   - customIndexingKey: A custom Spotlight attribute set key for this property.
    ///   - asyncGetter: The getter reference for the property
    @available(watchOS, unavailable)
    @available(tvOS, unavailable)
    public convenience init<Entity>(identifier: String, title: LocalizedStringResource, customIndexingKey: CSCustomAttributeKey, asyncGetter: @escaping @Sendable (Entity) async throws -> Value) where Entity : AppEntity
}
protocol

IndexedEntityQuery

NewiOSmacOS
public protocol IndexedEntityQuery : EntityQuery where Self.Entity : IndexedEntity

An interface that adds Spotlight reindexing support to your entity query.

Adopt this protocol in query types for app entities that you donate to your app’s Spotlight index using the <doc://com.apple.documentation/documentation/corespotlight/cssearchableindex/indexappentities(_:priority:)> method. When the system encounters an issue with an app’s index, it can ask that app to reindex its content. During reindexing, the system calls the methods of this protocol if your query type supports the protocol. If your type doesn't support the protocol, Spotlight continues to ask your app's <doc://com.apple.documentation/documentation/corespotlight/cssearchableindexdelegate> object to reindex any content. Similarly, if you donated an entity by associating it with a <doc://com.apple.documentation/documentation/corespotlight/cssearchableitem> type, Spotlight uses your <doc://com.apple.documentation/documentation/corespotlight/cssearchableindexdelegate> object.

Implement the methods of this protocol and use them to retrieve the specified entities and donate them again to Spotlight. The following example shows the implementation of this protocol for a photos app. The methods fetch the requested app entities and donate them again using the app’s preferred searchable index.

struct PhotoQuery: IndexedEntityQuery {
    func reindexEntities(for identifiers: [PhotoEntity.ID], indexDescription: CSSearchableIndexDescription) async throws {
        let photos = try await photoStore.fetch(ids: identifiers)
        try await CSSearchableIndex(name: “MyPhotosApp”).indexAppEntities(photos)
    }

    func reindexAllEntities(indexDescription: CSSearchableIndexDescription) async throws {
        let allPhotos = try await photoStore.fetchAll()
        try await CSSearchableIndex(name: “MyPhotosApp”).indexAppEntities(allPhotos)
    }
}

For more information about indexing your app entites, see <doc:making-app-entities-available-in-spotlight>.

Declaration
public protocol IndexedEntityQuery : EntityQuery where Self.Entity : IndexedEntity {

    /// Reindexes a specific subset of app entities within an index.
    ///
    /// - Parameters:
    ///     - identifiers: The identifiers of app entities to reindex. Use these identifiers to fetch
    ///     the entities from your app’s data store.
    ///     - indexDescription: An object that describes the characteristics of the searchable index.
    ///     Use the information in this type to determine which of your app’s
    ///     <doc://com.apple.documentation/documentation/corespotlight/cssearchableindex> instances to update.
    ///
    /// The system calls this method when it needs you to reindex only some of the app entities in
    /// one of your app’s searchable indexes. In your implementation of this method, use the `identifiers`
    /// parameter to fetch the app entities again and donate them to the index.
    func reindexEntities(for identifiers: [Self.Entity.ID], indexDescription: CSSearchableIndexDescription) async throws

    /// Reindexes all entities in the app index with the specified characteristics.
    ///
    /// - Parameter:
    ///    - indexDescription: An object that describes the characteristics of the searchable index.
    ///    Use the information in this type to determine which of your app’s
    ///    <doc://com.apple.documentation/documentation/corespotlight/cssearchableindex> instances to update.
    ///
    /// The system calls this method when it needs you to reindex all app entities in one of your
    /// app’s searchable indexes. In your implementation of this method, fetch all entities and donate
    /// them again to your index.
    func reindexAllEntities(indexDescription: CSSearchableIndexDescription) async throws
}
extension

IntentCurrencyAmount

NewiOSmacOStvOSwatchOS
extension IntentCurrencyAmount : IntentValueConvertible
Declaration
extension IntentCurrencyAmount : IntentValueConvertible {
}
struct

IntentExecutionTargets

NewiOSmacOStvOSwatchOS
public struct IntentExecutionTargets : OptionSet, Sendable, Hashable, Equatable

A set of options that describes which process performs an intent or entity query.

If you reuse intents and entities between your app, widget extension, or App Intents extension by using a Swift package or framework, the system may perform your AppIntent or EntityQuery from the app or App Intents extension. By default, the system performs an intent or entity query using any available target. Use IntentExecutionTargets to tell the system which targets can perform your AppIntent or EntityQuery. For example, a browser app might represent browser tabs and bookmarks as app entities and offer app intents to add a bookmark or open a browser tab. Adding a bookmark might be an action that can happen while the app isn't visible, so performing the action in the App Intents extension makes sense. However, opening a new tab makes sense only when the app is visible, requiring the system to perform the intent in the app's process.

The following example shows an app intent that the system performs in either the main app or the app intents extension:

struct MyIntent: AppIntent {
    static var allowedExecutionTargets: IntentExecutionTargets { [.main, .appIntentsExtension] }
}
Declaration
public struct IntentExecutionTargets : OptionSet, Sendable, Hashable, Equatable {

    /// The corresponding value of the raw type.
    ///
    /// A new instance initialized with `rawValue` will be equivalent to this
    /// instance. For example:
    ///
    ///     enum PaperSize: String {
    ///         case A4, A5, Letter, Legal
    ///     }
    ///
    ///     let selectedSize = PaperSize.Letter
    ///     print(selectedSize.rawValue)
    ///     // Prints "Letter"
    ///
    ///     print(selectedSize == PaperSize(rawValue: selectedSize.rawValue)!)
    ///     // Prints "true"
    public var rawValue: Int

    /// Creates a new option set from the given raw value.
    ///
    /// This initializer always succeeds, even if the value passed as `rawValue`
    /// exceeds the static properties declared as part of the option set. This
    /// example creates an instance of `ShippingOptions` with a raw value beyond
    /// the highest element, with a bit mask that effectively contains all the
    /// declared static members.
    ///
    ///     let extraOptions = ShippingOptions(rawValue: 255)
    ///     print(extraOptions.isStrictSuperset(of: .all))
    ///     // Prints "true"
    ///
    /// - Parameter rawValue: The raw value of the option set to create. Each bit
    ///   of `rawValue` potentially represents an element of the option set,
    ///   though raw values may include bits that are not defined as distinct
    ///   values of the `OptionSet` type.
    public init(rawValue: Int)

    /// The system performs the intent or query in any available target.
    public static var `default`: IntentExecutionTargets { get }

    /// The system performs the intent or query in the main app process.
    public static var main: IntentExecutionTargets { get }

    /// The system performs the intent or query in your app intents extension.
    public static var appIntentsExtension: IntentExecutionTargets { get }

    /// The system performs the intent or query in a widget extension.
    public static var widgetKitExtension: IntentExecutionTargets { get }

    /// Creates an instance initialized with the given elements.
    public init(arrayLiteral elements: IntentExecutionTargets...)

    /// Returns a Boolean value indicating whether two values are equal.
    ///
    /// Equality is the inverse of inequality. For any values `a` and `b`,
    /// `a == b` implies that `a != b` is `false`.
    ///
    /// - Parameters:
    ///   - lhs: A value to compare.
    ///   - rhs: Another value to compare.
    public static func == (lhs: IntentExecutionTargets, rhs: IntentExecutionTargets) -> Bool

    /// Hashes the essential components of this value by feeding them into the
    /// given hasher.
    ///
    /// Implement this method to conform to the `Hashable` protocol. The
    /// components used for hashing must be the same as the components compared
    /// in your type's `==` operator implementation. Call `hasher.combine(_:)`
    /// with each of these components.
    ///
    /// - Important: In your implementation of `hash(into:)`,
    ///   don't call `finalize()` on the `hasher` instance provided,
    ///   or replace it with a different instance.
    ///   Doing so may become a compile-time error in the future.
    ///
    /// - Parameter hasher: The hasher to use when combining the components
    ///   of this instance.
    public func hash(into hasher: inout Hasher)

    /// Adds the elements of the given set to the set.

Truncated.

extension

IntentFile

NewiOSmacOStvOSwatchOS
extension IntentFile : IntentValueConvertible
Declaration
extension IntentFile : IntentValueConvertible {
}
extension

IntentParameter

NewiOSmacOStvOSwatchOS
extension IntentParameter where Value.ValueType : AppUnionValue

Components of a union value parameter that can be referenced in parameter summaries.

Declaration
extension IntentParameter where Value.ValueType : AppUnionValue {

    /// The components of a union value parameter available for use in parameter summaries.
    public enum AppUnionValueComponent {

        /// The case name component of this union value parameter.
        case type

        /// The associated value of the selected case
        case value

        /// Returns a Boolean value indicating whether two values are equal.
        ///
        /// Equality is the inverse of inequality. For any values `a` and `b`,
        /// `a == b` implies that `a != b` is `false`.
        ///
        /// - Parameters:
        ///   - lhs: A value to compare.
        ///   - rhs: Another value to compare.
        public static func == (a: IntentParameter<Value>.AppUnionValueComponent, b: IntentParameter<Value>.AppUnionValueComponent) -> Bool

        /// Hashes the essential components of this value by feeding them into the
        /// given hasher.
        ///
        /// Implement this method to conform to the `Hashable` protocol. The
        /// components used for hashing must be the same as the components compared
        /// in your type's `==` operator implementation. Call `hasher.combine(_:)`
        /// with each of these components.
        ///
        /// - Important: In your implementation of `hash(into:)`,
        ///   don't call `finalize()` on the `hasher` instance provided,
        ///   or replace it with a different instance.
        ///   Doing so may become a compile-time error in the future.
        ///
        /// - Parameter hasher: The hasher to use when combining the components
        ///   of this instance.
        public func hash(into hasher: inout Hasher)

        /// The hash value.
        ///
        /// Hash values are not guaranteed to be equal across different executions of
        /// your program. Do not save hash values to use during a future execution.
        ///
        /// - Important: `hashValue` is deprecated as a `Hashable` requirement. To
        ///   conform to `Hashable`, implement the `hash(into:)` requirement instead.
        ///   The compiler provides an implementation for `hashValue` for you.
        public var hashValue: Int { get }
    }

    /// The case name component of this union value parameter.
    final public var type: IntentParameter<Value>.AppUnionValueComponent { get }

    /// The associated value component of this union value parameter.
    final public var value: IntentParameter<Value>.AppUnionValueComponent { get }
}
extension

IntentParameter

NewiOSmacOStvOSwatchOS
extension IntentParameter where Value.ValueType : _IntentValueRepresentable
Declaration
extension IntentParameter where Value.ValueType : _IntentValueRepresentable {

    /// Creates an app intent parameter.
    ///
    /// - Parameters:
    ///   - title: A word or short phrase summarizing this parameter.
    ///   - description: Additional details about this parameter.
    ///   - requestValueDialog: A prompt that asks a person to provide the parameter value.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    public convenience init(title: LocalizedStringResource, description: LocalizedStringResource? = nil, requestValueDialog: IntentDialog? = nil, inputConnectionBehavior: InputConnectionBehavior = .default)

    /// Creates an app intent parameter that can convert the selected value.
    ///
    /// - Parameters:
    ///   - title: A word or short phrase summarizing this parameter.
    ///   - description: Additional details about this parameter.
    ///   - requestValueDialog: A prompt that asks a person to provide the parameter value.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    ///   - resolvers: An object that converts a value of another type to this parameter's type.
    public convenience init<Spec>(title: LocalizedStringResource, description: LocalizedStringResource? = nil, requestValueDialog: IntentDialog? = nil, inputConnectionBehavior: InputConnectionBehavior = .default, @ResolverSpecificationBuilder<Value.UnwrappedType> resolvers: @escaping () -> Spec) where Spec : ResolverSpecification

    /// Creates an app intent parameter with a list of selectable options.
    ///
    /// - Parameters:
    ///   - title: A word or short phrase summarizing this parameter.
    ///   - description: Additional details about this parameter.
    ///   - requestValueDialog: A prompt that asks a person to provide the parameter value.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    ///   - optionsProvider: An object that determines selectable options for this parameter.
    public convenience init<OptionsProvider>(title: LocalizedStringResource, description: LocalizedStringResource? = nil, requestValueDialog: IntentDialog? = nil, inputConnectionBehavior: InputConnectionBehavior = .default, optionsProvider: OptionsProvider) where OptionsProvider : DynamicOptionsProvider, Value.ValueType == OptionsProvider.DefaultValue.ValueType

    /// Creates an app intent parameter with a list of selectable options that can convert the selected value.
    ///
    /// - Parameters:
    ///   - title: A word or short phrase summarizing this parameter.
    ///   - description: Additional details about this parameter.
    ///   - requestValueDialog: A prompt that asks a person to provide the parameter value.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    ///   - optionsProvider: An object that determines selectable options for this parameter.
    ///   - resolvers: An object that converts a value of another type to this parameter's type.
    public convenience init<Spec, OptionsProvider>(title: LocalizedStringResource, description: LocalizedStringResource? = nil, requestValueDialog: IntentDialog? = nil, inputConnectionBehavior: InputConnectionBehavior = .default, optionsProvider: OptionsProvider, @ResolverSpecificationBuilder<Value.UnwrappedType> resolvers: @escaping () -> Spec) where Spec : ResolverSpecification, OptionsProvider : DynamicOptionsProvider, Value.ValueType == OptionsProvider.DefaultValue.ValueType

    /// Creates an app intent parameter.
    ///
    /// - Parameters:
    ///   - description: Additional details about this parameter.
    ///   - requestValueDialog: A prompt that asks a person to provide the parameter value.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    public convenience init(description: LocalizedStringResource? = nil, requestValueDialog: IntentDialog? = nil, inputConnectionBehavior: InputConnectionBehavior = .default)

    /// Creates an app intent parameter that can convert the selected value.
    ///
    /// - Parameters:
    ///   - description: Additional details about this parameter.
    ///   - requestValueDialog: A prompt that asks a person to provide the parameter value.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    ///   - resolvers: An object that converts a value of another type to this parameter's type.
    public convenience init<Spec>(description: LocalizedStringResource? = nil, requestValueDialog: IntentDialog? = nil, inputConnectionBehavior: InputConnectionBehavior = .default, @ResolverSpecificationBuilder<Value.UnwrappedType> resolvers: @escaping () -> Spec) where Spec : ResolverSpecification

    /// Creates an app intent parameter with a list of selectable options.
    ///
    /// - Parameters:
    ///   - description: Additional details about this parameter.
    ///   - requestValueDialog: A prompt that asks a person to provide the parameter value.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    ///   - optionsProvider: An object that determines selectable options for this parameter.
    public convenience init<OptionsProvider>(description: LocalizedStringResource? = nil, requestValueDialog: IntentDialog? = nil, inputConnectionBehavior: InputConnectionBehavior = .default, optionsProvider: OptionsProvider) where OptionsProvider : DynamicOptionsProvider, Value.ValueType == OptionsProvider.DefaultValue.ValueType

    /// Creates an app intent parameter with a list of selectable options that can convert the selected value.
    ///
    /// - Parameters:
    ///   - description: Additional details about this parameter.
    ///   - requestValueDialog: A prompt that asks a person to provide the parameter value.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    ///   - optionsProvider: An object that determines selectable options for this parameter.
    ///   - resolvers: An object that converts a value of another type to this parameter's type.
    public convenience init<Spec, OptionsProvider>(description: LocalizedStringResource? = nil, requestValueDialog: IntentDialog? = nil, inputConnectionBehavior: InputConnectionBehavior = .default, optionsProvider: OptionsProvider, @ResolverSpecificationBuilder<Value.UnwrappedType> resolvers: @escaping () -> Spec) where Spec : ResolverSpecification, OptionsProvider : DynamicOptionsProvider, Value.ValueType == OptionsProvider.DefaultValue.ValueType
}
extension

IntentParameter

NewiOSmacOStvOSwatchOS
extension IntentParameter where Value.UnwrappedType : Collection, Value.ValueType : _SystemIntentValue
Declaration
extension IntentParameter where Value.UnwrappedType : Collection, Value.ValueType : _SystemIntentValue {

    /// Creates an app intent parameter for an array with a specified size.
    ///
    /// - Parameters:
    ///   - title: A word or short phrase summarizing this parameter.
    ///   - description: Additional details about this parameter.
    ///   - defaultValue: The default value for this parameter. People can specify a different value.
    ///   - size: The size of the array you specify to limit the amount of values.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    public convenience init(title: LocalizedStringResource, description: LocalizedStringResource? = nil, default defaultValue: Value.UnwrappedType? = nil, size: IntentCollectionSize, inputConnectionBehavior: InputConnectionBehavior = .default)

    /// Creates an app intent parameter for an array with a specified size per widget family.
    ///
    /// - Parameters:
    ///   - title: A word or short phrase summarizing this parameter.
    ///   - description: Additional details about this parameter.
    ///   - defaultValue: The default value for this parameter. People can specify a different value.
    ///   - size: The size of the array for a widget family. Use this to limit the amount of values.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    @available(tvOS, unavailable)
    public convenience init(title: LocalizedStringResource, description: LocalizedStringResource? = nil, default defaultValue: Value.UnwrappedType? = nil, size: [IntentWidgetFamily : IntentCollectionSize], inputConnectionBehavior: InputConnectionBehavior = .default)

    /// Creates an app intent parameter for an array with a specified size.
    ///
    /// - Parameters:
    ///   - description: Additional details about this parameter.
    ///   - defaultValue: The default value for this parameter. People can specify a different value.
    ///   - size: The size of the array you specify to limit the amount of values.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    public convenience init(description: LocalizedStringResource? = nil, default defaultValue: Value.UnwrappedType? = nil, size: IntentCollectionSize, inputConnectionBehavior: InputConnectionBehavior = .default)

    /// Creates an app intent parameter for an array with a specified size per widget family.
    ///
    /// - Parameters:
    ///   - description: Additional details about this parameter.
    ///   - defaultValue: The default value for this parameter. People can specify a different value.
    ///   - size: The size of the array for a widget family. Use this to limit the amount of values.
    ///   - inputConnectionBehavior: An enum that indicates how this parameter receives the output from a preceding app intent.
    @available(tvOS, unavailable)
    public convenience init(description: LocalizedStringResource? = nil, default defaultValue: Value.UnwrappedType? = nil, size: [IntentWidgetFamily : IntentCollectionSize], inputConnectionBehavior: InputConnectionBehavior = .default)
}
extension

IntentPaymentMethod

NewiOSmacOStvOSwatchOS
extension IntentPaymentMethod : IntentValueConvertible
Declaration
extension IntentPaymentMethod : IntentValueConvertible {
}
extension

IntentPerson

NewiOSmacOStvOSwatchOS
extension IntentPerson : IntentValueConvertible
Declaration
extension IntentPerson : IntentValueConvertible {
}
struct

IntentPrompt

NewiOSmacOS
public struct IntentPrompt : Sendable
Declaration
public struct IntentPrompt : Sendable {

    public var text: String

    public var files: [IntentFile]

    public init(text: String, files: [IntentFile])
}
extension

IntentPrompt

NewiOSmacOS
extension IntentPrompt
Declaration
extension IntentPrompt {

    /// A short, localized, human-readable name for the type.
    public static let typeDisplayRepresentation: TypeDisplayRepresentation

    /// The visual elements to display when presenting an instance of the type.
    public var displayRepresentation: DisplayRepresentation { get }

    public static var defaultResolverSpecification: some ResolverSpecification { get }

    @available(macOS 27.0, iOS 27.0, *)
    @available(tvOS, unavailable)
    @available(watchOS, unavailable)
    public typealias Specification = some ResolverSpecification

    @available(macOS 27.0, iOS 27.0, *)
    @available(tvOS, unavailable)
    @available(watchOS, unavailable)
    public typealias UnwrappedType = IntentPrompt

    @available(macOS 27.0, iOS 27.0, *)
    @available(tvOS, unavailable)
    @available(watchOS, unavailable)
    public typealias ValueType = IntentPrompt
}
struct

IntentResponseStream

NewiOSmacOStvOSwatchOS
public struct IntentResponseStream<Value>
Declaration
public struct IntentResponseStream<Value> {
}
extension

IntentResponseStream

NewiOSmacOS
extension IntentResponseStream where Value == _ModelDelegationOutput
Declaration
extension IntentResponseStream where Value == _ModelDelegationOutput {

    public func append(text: String)

    @discardableResult
    public func append(file: IntentFile) -> UUID

    public func update(fileId: UUID, with file: IntentFile)

    public func append(entity: some AppEntity)

    public func setStatus(_ status: String)

    public func append(writingToolsOutput: String)
}
extension

IntentSystemContext

NewiOSmacOStvOSwatchOS
extension IntentSystemContext
Declaration
extension IntentSystemContext {

    /// A Boolean value that indicates whether the system performs the app intent in a voice-only context.
    ///
    /// If ``isVoiceOnly`` is `true`, adjust the intent's result to include a more speakable summary,
    /// and make sure a person can understand responses and dialog without visuals such as tables, graphics, or other user-interface elements.
    ///
    /// Generally, return an ``IntentDialog`` from your intent. The system can
    /// choose the best information from the dialog to present for a person's context.
    /// Consult ``isVoiceOnly`` when your app intent returns dynamic, free-form output, such as
    /// generated recommendations, summarized search results, or natural-language responses
    /// you generate on the fly.
    public var isVoiceOnly: Bool { get }

    /// The locale in which the system performs the app intent.
    ///
    /// The locale for a person's request can differ from the app's current locale in a few cases:
    /// - A person makes a request in a language that's different from the system's locale.
    /// - A person creates a custom shortcut in the Shortcuts app that uses a locale different from their system locale.
    ///
    /// Where possible, use ``LocalizedStringResource`` APIs to localize app intents and let the system choose the right locale as needed.
    /// If localized string resources aren't an option — for example, when you generate content on a server or on device using generative models and
    /// can't easily localize results in the app — use the ``locale`` property as context to provide intent results that match the person's locale.
    public var locale: Locale { get }
}
protocol

LongRunningIntent

NewiOSmacOStvOSwatchOS
public protocol LongRunningIntent : ProgressReportingIntent

An interface you use to extend the background execution time of an app intent that performs a long-running task.

This protocol allows an app intent to run for an extended period of time in the background. When a task runs in the background, the system traditionally gives it up to 30 seconds to finish its task. For some types of tasks, this amount of time can be insufficient to complete the task. For example, file operations, data synchronization, machine learning inference, and data processing tasks can take longer if they operate on a sufficiently large amount of data. If your app intent performs a task that might exceed the built-in time limits, incorporate this protocol and use its methods to perform that task.

In the implementation of your app intent, place the code for your task inside one of the methods this protocol offers. The methods of this protocol work with the system to extend the amount of time your code has to run. While your code runs, the system requires you to report progress regularly, which you do using the progress property of the inherited ProgressReportingIntent protocol. If you don’t update this property regularly, the system can cancel the background runtime extension and end your task prematurely.

The following example shows the implementation of an app intent that uploads a file. The implementation uploads the file in chunks, and updates the progress property after each chunk.

struct UploadFileIntent: LongRunningIntent {
    static var title: LocalizedStringResource = "Upload Large File"

    @Parameter(title: "File")
    var file: IntentFile

    func perform() async throws -> some IntentResult & ReturnsValue<String> {
        // Use performBackgroundTask - zero required parameters!
        let result = try await performBackgroundTask {
            // This code runs with extended execution time
            progress.totalUnitCount = 100
            progress.localizedDescription = "Uploading file"

            for chunk in 0..<100 {
                try Task.checkCancellation()
                await uploadChunk(chunk)
                progress.completedUnitCount = Int64(chunk + 1)
                progress.localizedAdditionalDescription = "\(chunk + 1)% complete"
            }
            return "Upload complete!"
        }

        return .result(value: result)
    }

    private func uploadChunk(_ chunk: Int) async {
        // Simulate uploading a chunk
    }
}

Note: In macOS, the system allows background tasks to run without time limits. In iOS,

iPadOS, tvOS, visionOS, and watchOS, the system gives tasks 30 seconds to run in the background unless you use the methods of this protocol to extend that runtime.

Declaration
public protocol LongRunningIntent : ProgressReportingIntent {
}
extension

LongRunningIntent

NewiOSmacOStvOSwatchOS
extension LongRunningIntent
Declaration
extension LongRunningIntent {

    /// Runs an operation in the background with an extended amount of time.
    ///
    /// - Parameters:
    ///    - options: Additional options to configure the runtime behavior. For example, you
    ///    might use this parameter to tell the system that your task requires GPU resources.
    ///    The default value for this parameter is an empty set.
    ///    - operation: The closure to run in the background. Use this closure to specify the
    ///    code for your app intent’s task. The closure takes no parameters and returns a type
    ///    that you specify.
    /// - Returns: The value you return from the `operation` closure.
    /// - Throws: Throws an error if the operation fails or the system can’t run the operation.
    ///
    /// Use this method to wrap long-running code in your app intent’s ``AppIntent/perform()`` method.
    /// This method automatically extends the amount of time your code has to run in the background
    /// past the standard 30-second limit present on some platforms. You don’t have to start a
    /// separate background task.
    ///
    /// While your operation runs, provide regular progress updates using the ``ProgressReportingIntent/progress``
    /// property of the ``ProgressReportingIntent`` protocol. If you don’t update this
    /// property regularly, the system can cancel the background runtime extension and end your
    /// task prematurely.
    ///
    /// Live Activities displays the progress of your app intent’s task using information it receives
    /// automatically from this method. Live Activities displays the values of the
    /// <doc://com.apple.documentation/documentation/foundation/progress/localizeddescription> and
    /// <doc://com.apple.documentation/documentation/foundation/progress/localizedadditionaldescription>
    /// properties as the title and subtitle of your task. It also displays a progress bar, which it
    /// configures using the values in the <doc://com.apple.documentation/documentation/foundation/progress/completedunitcount>
    /// and <doc://com.apple.documentation/documentation/foundation/progress/totalunitcount> properties.
    ///
    /// The following example shows the ``AppIntent/perform()`` method of an app intent, which uses
    /// this method to extend the background runtime of the task. The method implementation uploads
    /// a file in chunks and updates progress values after each chunk.
    ///
    /// ```swift
    /// func perform() async throws -> some IntentResult & ReturnsValue<String> {
    ///     let result = try await performBackgroundTask {
    ///         progress.totalUnitCount = 100
    ///         progress.localizedDescription = "Uploading file"
    ///
    ///         for chunk in 0..<100 {
    ///             try Task.checkCancellation()
    ///             await uploadChunk(chunk)
    ///             progress.completedUnitCount = Int64(chunk + 1)
    ///             progress.localizedAdditionalDescription = "\(chunk + 1)% complete"
    ///         }
    ///         return "Upload complete!"
    ///     }
    ///
    ///     return .result(value: result)
    /// }
    /// ```
    @discardableResult
    public func performBackgroundTask<T>(options: LongRunningTaskOptions = [], operation: @escaping () async throws -> T) async throws -> T

    /// Runs an operation in the background and provides a way to cancel the operation
    /// before it finishes.
    ///
    /// - Parameters:
    ///    - options: Additional options to configure the runtime behavior. For example, you
    ///    might use this parameter to tell the system that your task requires GPU resources.
    ///    The default value for this parameter is an empty set.
    ///    - operation: The closure to run in the background. Use this closure to specify the
    ///    code for your app intent’s task. The closure takes no parameters and returns a
    ///    type that you specify.
    ///    - onCancel: The closure to run when cancellation occurs. Use this closure to
    ///    respond to the cancellation and perform any required cleanup. The closure receives
    ///    a parameter with the cancellation reason and returns no value. The system runs this
    ///    closure instead of the ``CancellableIntent/withIntentCancellationHandler(operation:onCancel:isolation:)``
    ///    method from the ``CancellableIntent`` protocol.
    /// - Returns: The value you return from the `operation` closure.
    /// - Throws: Throws an error if the operation fails or the system can’t run the operation.
    ///
    /// If your app intent also conforms to the ``CancellableIntent`` protocol, use this method to
    /// wrap long-running code in your app intent’s ``AppIntent/perform()`` method. This method
    /// automatically extends the amount of time your code has to run in the background past the
    /// standard 30-second limit present on some platforms. You don’t have to start a separate
    /// background task. If someone cancels the task for any reason, the system runs your

Truncated.

struct

LongRunningTaskOptions

NewiOSmacOStvOSwatchOS
public struct LongRunningTaskOptions : OptionSet, Sendable

Options for configuring long-running tasks.

When performing long-running tasks, specify these options to indicate additional resource requirements for the task. Pass these options to the performBackgroundTask(options:operation:) or performBackgroundTask(options:operation:onCancel:) methods.

Declaration
public struct LongRunningTaskOptions : OptionSet, Sendable {

    /// The corresponding value of the raw type.
    ///
    /// A new instance initialized with `rawValue` will be equivalent to this
    /// instance. For example:
    ///
    ///     enum PaperSize: String {
    ///         case A4, A5, Letter, Legal
    ///     }
    ///
    ///     let selectedSize = PaperSize.Letter
    ///     print(selectedSize.rawValue)
    ///     // Prints "Letter"
    ///
    ///     print(selectedSize == PaperSize(rawValue: selectedSize.rawValue)!)
    ///     // Prints "true"
    public let rawValue: Int

    /// An option that indicates the task requires GPU resources.
    public static let requiresGPU: LongRunningTaskOptions

    /// Creates a new option set from the given raw value.
    ///
    /// This initializer always succeeds, even if the value passed as `rawValue`
    /// exceeds the static properties declared as part of the option set. This
    /// example creates an instance of `ShippingOptions` with a raw value beyond
    /// the highest element, with a bit mask that effectively contains all the
    /// declared static members.
    ///
    ///     let extraOptions = ShippingOptions(rawValue: 255)
    ///     print(extraOptions.isStrictSuperset(of: .all))
    ///     // Prints "true"
    ///
    /// - Parameter rawValue: The raw value of the option set to create. Each bit
    ///   of `rawValue` potentially represents an element of the option set,
    ///   though raw values may include bits that are not defined as distinct
    ///   values of the `OptionSet` type.
    public init(rawValue: Int)

    /// The type of the elements of an array literal.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias ArrayLiteralElement = LongRunningTaskOptions

    /// The element type of the option set.
    ///
    /// To inherit all the default implementations from the `OptionSet` protocol,
    /// the `Element` type must be `Self`, the default.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias Element = LongRunningTaskOptions

    /// The raw type that can be used to represent all values of the conforming
    /// type.
    ///
    /// Every distinct value of the conforming type has a corresponding unique
    /// value of the `RawValue` type, but there may be values of the `RawValue`
    /// type that don't have a corresponding value of the conforming type.
    @available(macOS 27.0, iOS 27.0, tvOS 27.0, watchOS 27.0, *)
    public typealias RawValue = Int
}
protocol

OwnershipProvidingEntity

NewiOSmacOStvOSwatchOS
public protocol OwnershipProvidingEntity : AppEntity

A type that provides the system with ownership and sharing context for an app entity.

When your app passes app entities as parameters to an AppIntent and returns them from app intent results, people can use Apple Intelligence, Siri, and custom shortcuts to work with those entities across apps. For destructive or sensitive actions like deleting or updating an app entity, your app can require a person's confirmation. Additionally, Apple Intelligence and Siri may also request a person's confirmation. Conform your app entities to OwnershipProvidingEntity so the system prompts for confirmation — with appropriate context in the confirmation dialog — when an intent acts on shared or publicly accessible app entities.

The following example shows an app entity for a photo album that updates its ownership based on whether a person shares the album with their family or publishes it publicly:

@AppEntity(schema: .photos.album)
struct PhotoAlbumEntity: OwnershipProvidingEntity {
    let id = UUID()
    var isSharedWithFamily: Bool
    var isPublicAlbum: Bool

    // MARK: - .photos.album properties
    var name: String
    var creationDate: Date?
    var albumType: PhotoAlbumType

    var ownership: EntityOwnership {
        var ownership: EntityOwnership = []
        if isSharedWithFamily {
            ownership.insert(.shared)
        }
        if isPublicAlbum {
            ownership.insert(.public)
        }
        return ownership
    }
}
Declaration
public protocol OwnershipProvidingEntity : AppEntity {

    /// The sharing and ownership state of the entity.
    ///
    /// Return a value that identifies the entity's owner, its collaborators,
    /// and whether the entity is publicly accessible.
    var ownership: EntityOwnership { get }
}
extension

ParameterSummaryString.StringInterpolation

NewiOSmacOStvOSwatchOS
extension ParameterSummaryString.StringInterpolation

Enables interpolation of union value components in parameter summaries.

Union value parameters can be interpolated in two ways:

  • \.$parameter.type - The case name of the selected union value
  • \.$parameter.value - The associated value of the selected case

Example:

Summary("Selected \(\.$reaction.type): \(\.$reaction.value)")
Declaration
extension ParameterSummaryString.StringInterpolation {

    public mutating func appendInterpolation<Value, Subject>(_ subject: Subject) where Value : _IntentValue, Value : Sendable, Subject : KeyPath<Intent, IntentParameter<Value>.AppUnionValueComponent>, Value.ValueType : AppUnionValue
}
extension

ParameterSummarySwitchCondition

NewiOSmacOStvOSwatchOS
extension ParameterSummarySwitchCondition

Initializer for Switch statements on union value parameters.

Enables branching parameter summaries based on which case of a union value is selected.

Example:

Switch(\.$reaction) {
    Case(.tapback) {
        Summary("Tapback reaction")
    }
    Case([.text, .emoji]) {
        Summary("Text reaction")
    }
    DefaultCase {
        Summary("Other reaction")
    }
}
Declaration
extension ParameterSummarySwitchCondition {

    /// Creates a `Switch` statement that branches based on union value parameter cases.
    ///
    /// - Parameters:
    ///   - keyPath: Key path to the union value parameter
    ///   - builder: A result builder that constructs the case conditions
    public init(_ keyPath: KeyPath<Intent, IntentParameter<Value>>, @ParameterSummaryCaseBuilder<Intent, Value.ValueType.Cases> _ builder: () -> CaseCondition) where Value : Sendable, Value.ValueType : AppUnionValue
}
extension

ParameterSummaryWhenCondition

NewiOSmacOStvOSwatchOS
extension ParameterSummaryWhenCondition
Declaration
extension ParameterSummaryWhenCondition {

    /// Creates a `When` condition comparing a union value parameter to a specific case.
    ///
    /// - Parameters:
    ///   - keyPath: Key path to the union value parameter
    ///   - comparisonOperator: The comparison operator (`.equalTo` or `.notEqualTo`)
    ///   - value: The union value case to compare against
    ///   - when: The summary to use when the condition is true
    ///   - otherwise: The summary to use when the condition is false
    public init<ValueType, Parameter>(_ keyPath: KeyPath<Intent, Parameter>, _ comparisonOperator: EquatableComparisonOperator, _ value: ValueType.ValueType.Cases, @ParameterSummaryBuilder<Intent> _ when: () -> WhenCondition, @ParameterSummaryBuilder<Intent> otherwise: () -> Otherwise) where ValueType == Parameter.Value, Parameter : AnyIntentValue, ValueType.ValueType : AppUnionValue

    /// Creates a `When` condition comparing an optional union value parameter to a specific case.
    ///
    /// - Parameters:
    ///   - keyPath: Key path to the optional union value parameter
    ///   - comparisonOperator: The comparison operator (`.equalTo` or `.notEqualTo`)
    ///   - value: The union value case to compare against
    ///   - when: The summary to use when the condition is true
    ///   - otherwise: The summary to use when the condition is false
    public init<ValueType, Parameter>(_ keyPath: KeyPath<Intent, Parameter>, _ comparisonOperator: EquatableComparisonOperator, _ value: ValueType.ValueType.Cases, @ParameterSummaryBuilder<Intent> _ when: () -> WhenCondition, @ParameterSummaryBuilder<Intent> otherwise: () -> Otherwise) where ValueType : ExpressibleByNilLiteral, ValueType == Parameter.Value, Parameter : AnyIntentValue, ValueType.ValueType : AppUnionValue

    /// Creates a `When` condition checking if a union value parameter matches any case in a list.
    ///
    /// - Parameters:
    ///   - keyPath: Key path to the union value parameter
    ///   - comparisonOperator: The comparison operator (`.oneOf` or `.noneOf`)
    ///   - values: The array of union value cases to check against
    ///   - when: The summary to use when the condition is true
    ///   - otherwise: The summary to use when the condition is false
    ///
    /// Example:
    /// ```swift
    /// When(\.$reaction, .oneOf, [.text, .emoji]) {
    ///     Summary("Text-based reaction")
    /// } otherwise: {
    ///     Summary("Other reaction type")
    /// }
    /// ```
    public init<ValueType, Parameter>(_ keyPath: KeyPath<Intent, Parameter>, _ comparisonOperator: OneOfComparisonOperator, _ values: [ValueType.ValueType.Cases], @ParameterSummaryBuilder<Intent> _ when: () -> WhenCondition, @ParameterSummaryBuilder<Intent> otherwise: () -> Otherwise) where ValueType == Parameter.Value, Parameter : AnyIntentValue, ValueType.ValueType : AppUnionValue
}
struct

RelevantEntities

NewiOSmacOStvOSwatchOS
public struct RelevantEntities : Sendable

A type you use to donate your app's songs, albums, artists, and other media items to play during workouts.

Use the shared RelevantEntities object to donate songs, albums, artists, playlists, radio stations, podcasts, or other media-related content to the system. Base your donations on whatever criteria makes sense for your app. For example, you might donate songs that someone listens to frequently or donate new items that you think someone might like based on their tastes. The system uses your donations to offer suggestions for content someone can play during a workout or other scenario.

When you donate media items using this type, provide all the items at once using the updateSuggestedEntities(_:) method. Apps provide only one set of suggestions at a time, and those suggestions remain active until you clear them. Each time you call the updateSuggestedEntities(_:) method, the system replaces your app's previous suggestions with the new set. If you don't have any suggestions, you can specify an empty array when calling the method. If someone doesn't launch your app, the system automatically expires your app's suggestions after approximately four weeks.

Declaration
public struct RelevantEntities : Sendable {

    /// The shared instance of this class.
    public static let shared: RelevantEntities

    /// Donates suggested entities for a single context.
    ///
    /// Replaces any previously donated entities associated with the given context.
    ///
    /// - Parameters:
    ///   - entities: The entities to donate.
    ///   - context: The context with which to associate the donated entities.
    /// - Throws: An error if the donation fails.
    public func updateEntities(_ entities: [any AppEntity], for context: AppEntityContext) async throws

    /// Removes the specified entities across all contexts.
    ///
    /// - Parameter entities: The entities to remove from all contexts.
    /// - Throws: An error if the removal fails.
    public func removeEntities(_ entities: [any AppEntity]) async throws

    /// Removes all suggested entities across all contexts.
    ///
    /// - Throws: An error if the removal fails.
    public func removeAllEntities() async throws

    /// Removes specific entities from the given context.
    ///
    /// - Parameters:
    ///   - entities: The entities to remove.
    ///   - context: The context from which to remove the entities.
    /// - Throws: An error if the removal fails.
    public func removeEntities(_ entities: [any AppEntity], from context: AppEntityContext) async throws

    /// Removes all donated entities for the given context.
    ///
    /// - Parameter context: The context whose donated entities should be removed.
    /// - Throws: An error if the removal fails.
    public func removeAllEntities(for context: AppEntityContext) async throws
}
struct

RunSystemShortcutIntent

NewiOS
public struct RunSystemShortcutIntent : SystemIntent

An app intent you use in widgets to open another app or perform an App Shortcut, custom shortcut, or system action.

Only use RunSystemShortcutIntent to initialize a <doc://com.apple.documentation/documentation/swiftui/button with the <doc://com.apple.documentation/documentation/swiftui/button/init(_:intent:)> initializer and place the button in a widget. The run system shortcut intent doesn't provide functionality in other contexts.

When a person configures the widget, they choose the button's action. It can:

  • Open another installed app.
  • Perform an App Shortcut.
  • Perform a custom shortcut a person creates in Shortcuts.
  • Perform a system action.

The following example shows how an app offers a widget that allows people to launch another app from a button:

import SwiftUI
import WidgetKit
import AppIntents

struct LauncherWidgetConfigurationIntent: WidgetConfigurationIntent {
    static var title: LocalizedStringResource { "Launcher Widget" }
    static var description: IntentDescription { "Widget that runs a shortcut or opens an app" }

    @Parameter(title: "Action")
    var shortcut: SystemShortcut
}

struct LauncherWidget: Widget {
    let kind: String = "LauncherWidget"

    var body: some WidgetConfiguration {
        AppIntentConfiguration(
            kind: kind,
            intent: LauncherWidgetConfigurationIntent.self,
            provider: Provider()
        ) { entry in
            Button(
                intent: RunSystemShortcutIntent(shortcut: entry.configuration.shortcut)
            ) {
                VStack {
                    Image(systemName: "play.fill")
                        .font(.largeTitle)
                    Text(entry.configuration.shortcut.displayRepresentation.title)
                        .font(.caption)
                }
            }
        }
    }
}

The RunSystemShortcutIntent represents a person's chosen action when they configure your widget and it provides metadata the system needs for the widget's configuration UI. It doesn't provide your widget or app with access to a shortcut's actions, parameters, or implementation details. If a custom shortcut or App Shortcut requires an interaction, for example, if it prompts a person for input, the system may open the Shortcuts app to perform the intent.

Declaration
public struct RunSystemShortcutIntent : SystemIntent {

    /// The localized string that describes the intent's functionality.
    public static let title: LocalizedStringResource

    /// The string that identifies the intent.
    public static let persistentIdentifier: String

    /// Creates an intent that performs a person's configured action.
    public init()

    /// Creates an intent that performs a person's configured action.
    ///
    /// - Parameter shortcut: The metadata that represents a person's configured action.
    public init(shortcut: SystemShortcut)

    /// Performs a widget's configured action, like opening another app or performing an App Shortcut, custom shortcut, or system action.
    ///
    /// The system only performs the intent if it's triggered by a button you place in widget. The intent doesn't have any effect in other
    /// contexts.
    public func perform() async throws -> IntentResultContainer<Never, Never, Never, Never>

    @available(iOS 27.0, *)
    @available(macOS, unavailable)
    @available(tvOS, unavailable)
    @available(watchOS, unavailable)
    @available(visionOS, unavailable)
    public typealias PerformResult = IntentResultContainer<Never, Never, Never, Never>

    /// The type of parameter summary representing this intent.
    ///
    /// When you create an intent, Swift infers this type from your implementation of the
    /// ``parameterSummary`` property.
    @available(iOS 27.0, *)
    @available(macOS, unavailable)
    @available(tvOS, unavailable)
    @available(watchOS, unavailable)
    @available(visionOS, unavailable)
    public typealias SummaryContent = some ParameterSummary
}
extension

StringSearchCriteria

NewiOSmacOStvOSwatchOS
extension StringSearchCriteria : IntentValueConvertible
Declaration
extension StringSearchCriteria : IntentValueConvertible {
}
protocol

SyncableEntity

NewiOSmacOStvOSwatchOS
public protocol SyncableEntity : AppEntity

An interface that indicates your entity has an identifier that’s consistent across devices.

Adopt the SyncableEntity protocol in your entity types when they have an identifier that’s the same across devices. The presence of this protocol tells the system that it can refer to your entity consistently across devices. For eample, Siri uses this capability to transfer a conversation from one device to another.

If you configure entities with an identifier that’s already consistent across devices, you can adopt this protocol without any additional changes. For example, if you initialize entities with a UUID you retrieve from your server, you can use that value for the identifier and not make any additional changes to your type. The following example shows an app entity type that adopts SyncableEntity and uses a server-based UUID.

struct Article: AppEntity, SyncableEntity {
    var id: UUID  // No changes needed!
    var title: String
}

If your entity maintains different local and stable identifiers, adopt this protocol and set the type of your identifier to SyncableEntityIdentifier. When creating an entity, initialize its id property with both the local and stable identifier values for your type, as shown in the following example. When you need to refer to an entity in your code, use the local identifier.

struct Photo: AppEntity, SyncableEntity {
    var id: SyncableEntityIdentifier<String, String>
    var creationDate: Date

    init(localID: String, stableID: String, creationDate: Date) {
        self.id = SyncableEntityIdentifier(local: localID, stable: stableID)
        self.creationDate = creationDate
    }
}
Declaration
public protocol SyncableEntity : AppEntity {
}
struct

SyncableEntityIdentifier

NewiOSmacOStvOSwatchOS
public struct SyncableEntityIdentifier<LocalID, StableID> : Sendable where LocalID : EntityIdentifierConvertible, LocalID : Sendable, StableID : EntityIdentifierConvertible, StableID : Sendable

A type-safe wrapper you use to specify different local and stable identifiers for an entity.

Use this structure if you maintain separate local and stable identifiers in one of your entity types. Assign this structure to the id property of your entity and use the value in the local property to refer to the entity in your code. The system uses the stable value to refer to the same entity during operations that occur on another device.

When referring to an entity in your code, you can refer to this type directly. The following example shows an entity that uses this type for its identifier. The query object for the entity similarly refers to this type directly in methods.

struct Photo: AppEntity, SyncableEntity {
    var id: SyncableEntityIdentifier<String, String>
    var creationDate: Date
}

struct PhotoQuery: EntityQuery {
    func entities(for ids: [SyncableEntityIdentifier<String, String>]) async throws -> [Photo] {
        // Works everywhere - queries, entities, helper functions
    }
}

For additional information about how to use this type, see SyncableEntity.

Declaration
public struct SyncableEntityIdentifier<LocalID, StableID> : Sendable where LocalID : EntityIdentifierConvertible, LocalID : Sendable, StableID : EntityIdentifierConvertible, StableID : Sendable {

    /// The identifier you use to refer to the entity on the current device.
    ///
    /// Use this property to retrieve the local identifier value you specified at initialization time. When the framework performs entity resolution
    /// across devices, the value of this property is `nil`.
    public let local: LocalID?

    /// The identifier you use to refer to the entity across devices.
    ///
    /// Use this property to retrieve the stable identifier value you specified at initialization time. When the framework creates identifiers for
    /// on-device operations, it can set this property to `nil` if it doesn’t need the stable identifier.
    public let stable: StableID?

    /// Creates an identifier with both local and stable IDs.
    ///
    /// Use this initializer when you use separate local and stable identifiers to refer to your entity.
    ///
    /// - Parameters:
    ///   - local: The device-specific identifier
    ///   - stable: The cross-device stable identifier
    public init(local: LocalID, stable: StableID)
}
extension

SyncableEntityIdentifier

NewiOSmacOStvOSwatchOS
extension SyncableEntityIdentifier : Equatable
Declaration
extension SyncableEntityIdentifier : Equatable {

    /// Two identifiers are equal when they have the same shape **and** the same
    /// values: both-local compares local IDs (ignoring stable), both-stable-only
    /// compares stable IDs.  Mixed shapes (one has local, the other doesn't) are
    /// never equal — this keeps the Hashable contract intact since each shape
    /// hashes a different component.
    public static func == (lhs: SyncableEntityIdentifier<LocalID, StableID>, rhs: SyncableEntityIdentifier<LocalID, StableID>) -> Bool
}
extension

SyncableEntityIdentifier

NewiOSmacOStvOSwatchOS
extension SyncableEntityIdentifier : Hashable
Declaration
extension SyncableEntityIdentifier : Hashable {

    /// Hashes based on the local ID if present, otherwise the stable ID.
    ///
    /// This ensures consistent hashing with equality - identifiers that are equal
    /// will produce the same hash value.
    public func hash(into hasher: inout Hasher)

    /// The hash value.
    ///
    /// Hash values are not guaranteed to be equal across different executions of
    /// your program. Do not save hash values to use during a future execution.
    ///
    /// - Important: `hashValue` is deprecated as a `Hashable` requirement. To
    ///   conform to `Hashable`, implement the `hash(into:)` requirement instead.
    ///   The compiler provides an implementation for `hashValue` for you.
    public var hashValue: Int { get }
}
extension

SyncableEntityIdentifier

NewiOSmacOStvOSwatchOS
extension SyncableEntityIdentifier : EntityIdentifierConvertible
Declaration
extension SyncableEntityIdentifier : EntityIdentifierConvertible {

    /// Returns the string representation of this identifier's local ID.
    ///
    /// This method requires a local ID to be present. Stable-only identifiers
    /// (created via the `@_spi(_)` initializer) should not have this method called.
    ///
    /// - Returns: The local ID's string representation
    /// - Precondition: The identifier must have a local ID
    public var entityIdentifierString: String { get }

    /// Creates an identifier from a string representation.
    ///
    /// Attempts to parse the string as a local ID. The stable ID is not populated
    /// during deserialization - it should be populated by queries when fetching entities.
    ///
    /// - Parameter string: The string representation
    /// - Returns: An identifier with local ID set, or `nil` if parsing fails
    public static func entityIdentifier(for string: String) -> SyncableEntityIdentifier<LocalID, StableID>?
}
extension

SyncableEntityIdentifier

NewiOSmacOStvOSwatchOS
extension SyncableEntityIdentifier : CustomStringConvertible
Declaration
extension SyncableEntityIdentifier : CustomStringConvertible {

    /// A textual representation of this instance.
    ///
    /// Calling this property directly is discouraged. Instead, convert an
    /// instance of any type to a string by using the `String(describing:)`
    /// initializer. This initializer works with any type, and uses the custom
    /// `description` property for types that conform to
    /// `CustomStringConvertible`:
    ///
    ///     struct Point: CustomStringConvertible {
    ///         let x: Int, y: Int
    ///
    ///         var description: String {
    ///             return "(\(x), \(y))"
    ///         }
    ///     }
    ///
    ///     let p = Point(x: 21, y: 30)
    ///     let s = String(describing: p)
    ///     print(s)
    ///     // Prints "(21, 30)"
    ///
    /// The conversion of `p` to a string in the assignment to `s` uses the
    /// `Point` type's `description` property.
    public var description: String { get }
}
extension

SyncableEntityIdentifier

NewiOSmacOStvOSwatchOS
extension SyncableEntityIdentifier where LocalID == StableID
Declaration
extension SyncableEntityIdentifier where LocalID == StableID {

    /// Creates an identifier where the local and stable IDs are identical.
    ///
    /// Use this for entities whose identifiers are already stable across devices,
    /// such as server-assigned UUIDs or globally unique identifiers.
    ///
    /// ## Example
    /// ```swift
    /// struct Article: AppEntity, SyncableEntity {
    ///     var id: SyncableEntityIdentifier<UUID, UUID>
    ///
    ///     init(id: UUID, title: String) {
    ///         self.id = SyncableEntityIdentifier(id: id)
    ///         self.title = title
    ///     }
    /// }
    /// ```
    public init(id: LocalID)
}
struct

SystemShortcut

NewiOS
public struct SystemShortcut : Equatable, Sendable

An opaque reference to a user-configured action for use in a widget button.

The system creates SystemShortcut instances to represent a person's choice when they configure the action for a button in a widget. It can represent a custom shortcut, App Shortcut, system action, or an installed app. SystemShortcut only exposes metadata that the system needs to fill the configuration UI, for example, the action's display representation. It doesn't provide the app or widget with a custom shortcut's actions, parameters, or implementation details.

Declaration
public struct SystemShortcut : Equatable, Sendable {

    /// Returns a Boolean value indicating whether two values are equal.
    ///
    /// Equality is the inverse of inequality. For any values `a` and `b`,
    /// `a == b` implies that `a != b` is `false`.
    ///
    /// - Parameters:
    ///   - lhs: A value to compare.
    ///   - rhs: Another value to compare.
    public static func == (a: SystemShortcut, b: SystemShortcut) -> Bool
}
extension

SystemShortcut

NewiOS
extension SystemShortcut
Declaration
extension SystemShortcut {

    /// A short, localized, human-readable name for the type.
    public static let typeDisplayRepresentation: TypeDisplayRepresentation

    /// A string that uniquely identifies this type.
    public static let persistentIdentifier: String

    /// The visual elements to display when presenting an instance of the type.
    public var displayRepresentation: DisplayRepresentation { get }

    public static let defaultResolverSpecification: EmptyResolverSpecification<SystemShortcut>

    @available(iOS 27.0, *)
    @available(macOS, unavailable)
    @available(tvOS, unavailable)
    @available(watchOS, unavailable)
    @available(visionOS, unavailable)
    public typealias Specification = EmptyResolverSpecification<SystemShortcut>

    @available(iOS 27.0, *)
    @available(macOS, unavailable)
    @available(tvOS, unavailable)
    @available(watchOS, unavailable)
    @available(visionOS, unavailable)
    public typealias UnwrappedType = SystemShortcut

    @available(iOS 27.0, *)
    @available(macOS, unavailable)
    @available(tvOS, unavailable)
    @available(watchOS, unavailable)
    @available(visionOS, unavailable)
    public typealias ValueType = SystemShortcut
}
extension

SystemShortcut

NewiOS
extension SystemShortcut : IntentValueConvertible
Declaration
extension SystemShortcut : IntentValueConvertible {
}
var

AppIntent.allowedExecutionTargets

NewiOSmacOStvOSwatchOS
static var allowedExecutionTargets: IntentExecutionTargets { get }

The list of targets this intent can be executed against.

By default, an intent can be executed against any target. Use this property to restrict execution to specific targets such as the main app, an App Intents extension, or a WidgetKit extension.

var

AppIntent.allowedExecutionTargets

NewiOSmacOStvOSwatchOS
public static var allowedExecutionTargets: IntentExecutionTargets { get }

The list of targets this intent can be executed against.

By default, an intent can be executed against any target. Use this property to restrict execution to specific targets such as the main app, an App Intents extension, or a WidgetKit extension.

typealias

AppIntent.ExecutionTargets

NewiOSmacOStvOSwatchOS
public typealias ExecutionTargets = IntentExecutionTargets
typealias

CVReadOnlyPixelBuffer.Specification

NewiOSmacOStvOSwatchOS
public typealias Specification = EmptyResolverSpecification<CVReadOnlyPixelBuffer>
typealias

CVReadOnlyPixelBuffer.UnwrappedType

NewiOSmacOStvOSwatchOS
public typealias UnwrappedType = CVReadOnlyPixelBuffer
typealias

CVReadOnlyPixelBuffer.ValueType

NewiOSmacOStvOSwatchOS
public typealias ValueType = CVReadOnlyPixelBuffer
typealias

EntityCollection.ArrayLiteralElement

NewiOSmacOStvOSwatchOS
public typealias ArrayLiteralElement = Entity.ID

The type of the elements of an array literal.

typealias

EntityCollection.Element

NewiOSmacOStvOSwatchOS
public typealias Element = Entity.ID

A type representing the sequence's elements.

typealias

EntityCollection.Index

NewiOSmacOStvOSwatchOS
public typealias Index = Int

A type that represents a position in the collection.

Valid indices consist of the position of every element and a "past the end" position that's not valid for use as a subscript argument.

typealias

EntityCollection.Indices

NewiOSmacOStvOSwatchOS
public typealias Indices = DefaultIndices<EntityCollection<Entity>>

A type that represents the indices that are valid for subscripting the collection, in ascending order.

typealias

EntityCollection.Iterator

NewiOSmacOStvOSwatchOS
public typealias Iterator = IndexingIterator<EntityCollection<Entity>>

A type that provides the collection's iteration interface and encapsulates its iteration state.

By default, a collection conforms to the Sequence protocol by supplying IndexingIterator as its associated Iterator type.

typealias

EntityCollection.Specification

NewiOSmacOStvOSwatchOS
public typealias Specification = some ResolverSpecification
typealias

EntityCollection.SubSequence

NewiOSmacOStvOSwatchOS
public typealias SubSequence = Slice<EntityCollection<Entity>>

A collection representing a contiguous subrange of this collection's elements. The subsequence shares indices with the original collection.

The default subsequence type for collections that don't define their own is Slice.

typealias

EntityOwnership.ArrayLiteralElement

NewiOSmacOStvOSwatchOS
public typealias ArrayLiteralElement = EntityOwnership

The type of the elements of an array literal.

typealias

EntityOwnership.Element

NewiOSmacOStvOSwatchOS
public typealias Element = EntityOwnership

The element type of the option set.

To inherit all the default implementations from the OptionSet protocol, the Element type must be Self, the default.

typealias

EntityOwnership.RawValue

NewiOSmacOStvOSwatchOS
public typealias RawValue = Int

The raw type that can be used to represent all values of the conforming type.

Every distinct value of the conforming type has a corresponding unique value of the RawValue type, but there may be values of the RawValue type that don't have a corresponding value of the conforming type.

var

EntityQuery.allowedExecutionTargets

NewiOSmacOStvOSwatchOS
static var allowedExecutionTargets: IntentExecutionTargets { get }

A set of targets that can run this query.

typealias

EntityQuery.ExecutionTargets

NewiOSmacOStvOSwatchOS
typealias ExecutionTargets = IntentExecutionTargets
typealias

IntentExecutionTargets.ArrayLiteralElement

NewiOSmacOStvOSwatchOS
public typealias ArrayLiteralElement = IntentExecutionTargets

The type of the elements of an array literal.

typealias

IntentExecutionTargets.Element

NewiOSmacOStvOSwatchOS
public typealias Element = IntentExecutionTargets

The element type of the option set.

To inherit all the default implementations from the OptionSet protocol, the Element type must be Self, the default.

typealias

IntentExecutionTargets.RawValue

NewiOSmacOStvOSwatchOS
public typealias RawValue = Int

The raw type that can be used to represent all values of the conforming type.

Every distinct value of the conforming type has a corresponding unique value of the RawValue type, but there may be values of the RawValue type that don't have a corresponding value of the conforming type.

typealias

IntentPrompt.Specification

NewiOSmacOS
public typealias Specification = some ResolverSpecification
typealias

IntentPrompt.UnwrappedType

NewiOSmacOS
public typealias UnwrappedType = IntentPrompt
typealias

IntentPrompt.ValueType

NewiOSmacOS
public typealias ValueType = IntentPrompt
typealias

LongRunningTaskOptions.ArrayLiteralElement

NewiOSmacOStvOSwatchOS
public typealias ArrayLiteralElement = LongRunningTaskOptions

The type of the elements of an array literal.

typealias

LongRunningTaskOptions.Element

NewiOSmacOStvOSwatchOS
public typealias Element = LongRunningTaskOptions

The element type of the option set.

To inherit all the default implementations from the OptionSet protocol, the Element type must be Self, the default.

typealias

LongRunningTaskOptions.RawValue

NewiOSmacOStvOSwatchOS
public typealias RawValue = Int

The raw type that can be used to represent all values of the conforming type.

Every distinct value of the conforming type has a corresponding unique value of the RawValue type, but there may be values of the RawValue type that don't have a corresponding value of the conforming type.

typealias

RunSystemShortcutIntent.PerformResult

NewiOS
public typealias PerformResult = IntentResultContainer<Never, Never, Never, Never>
typealias

RunSystemShortcutIntent.SummaryContent

NewiOS
public typealias SummaryContent = some ParameterSummary

The type of parameter summary representing this intent.

When you create an intent, Swift infers this type from your implementation of the parameterSummary property.

typealias

SystemShortcut.Specification

NewiOS
public typealias Specification = EmptyResolverSpecification<SystemShortcut>
typealias

SystemShortcut.UnwrappedType

NewiOS
public typealias UnwrappedType = SystemShortcut
typealias

SystemShortcut.ValueType

NewiOS
public typealias ValueType = SystemShortcut

No APIs match your filter.

← More in App Intents & System Integration