New
196struct
AppEntityContext
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.MessagesEntity
Declaration
extension AppSchema.Entity : AppSchema.MessagesEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.ImageGenerationEntity
Declaration
extension AppSchema.Entity : AppSchema.ImageGenerationEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.AudioEntity
Declaration
extension AppSchema.Entity : AppSchema.AudioEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.RemindersEntity
Declaration
extension AppSchema.Entity : AppSchema.RemindersEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.ClockEntity
Declaration
extension AppSchema.Entity : AppSchema.ClockEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.NotesEntity
Declaration
extension AppSchema.Entity : AppSchema.NotesEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.CalendarEntity
Declaration
extension AppSchema.Entity : AppSchema.CalendarEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.PhoneEntity
Declaration
extension AppSchema.Entity : AppSchema.PhoneEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.MapsEntity
Declaration
extension AppSchema.Entity : AppSchema.MapsEntity {
}
extension
AppSchema.Entity
NewiOSmacOStvOSwatchOSextension AppSchema.Entity : AppSchema.AppStoreEntity
Declaration
extension AppSchema.Entity : AppSchema.AppStoreEntity {
}
extension
AppSchema.Enum
NewiOSmacOStvOSwatchOSextension AppSchema.Enum : AppSchema.MessagesEnum
Declaration
extension AppSchema.Enum : AppSchema.MessagesEnum {
}
extension
AppSchema.Enum
NewiOSmacOStvOSwatchOSextension AppSchema.Enum : AppSchema.ImageGenerationEnum
Declaration
extension AppSchema.Enum : AppSchema.ImageGenerationEnum {
}
extension
AppSchema.Enum
NewiOSmacOStvOSwatchOSextension AppSchema.Enum : AppSchema.AudioEnum
Declaration
extension AppSchema.Enum : AppSchema.AudioEnum {
}
extension
AppSchema.Enum
NewiOSmacOStvOSwatchOSextension AppSchema.Enum : AppSchema.RemindersEnum
Declaration
extension AppSchema.Enum : AppSchema.RemindersEnum {
}
extension
AppSchema.Enum
NewiOSmacOStvOSwatchOSextension AppSchema.Enum : AppSchema.ClockEnum
Declaration
extension AppSchema.Enum : AppSchema.ClockEnum {
}
extension
AppSchema.Enum
NewiOSmacOStvOSwatchOSextension AppSchema.Enum : AppSchema.CalendarEnum
Declaration
extension AppSchema.Enum : AppSchema.CalendarEnum {
}
extension
AppSchema.Enum
NewiOSmacOStvOSwatchOSextension AppSchema.Enum : AppSchema.PhoneEnum
Declaration
extension AppSchema.Enum : AppSchema.PhoneEnum {
}
extension
AppSchema.Enum
NewiOSmacOStvOSwatchOSextension AppSchema.Enum : AppSchema.MapsEnum
Declaration
extension AppSchema.Enum : AppSchema.MapsEnum {
}
extension
AppSchema.FilesIntent
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.MessagesIntent
Declaration
extension AppSchema.Intent : AppSchema.MessagesIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.ImageGenerationIntent
Declaration
extension AppSchema.Intent : AppSchema.ImageGenerationIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.AudioIntent
Declaration
extension AppSchema.Intent : AppSchema.AudioIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.RemindersIntent
Declaration
extension AppSchema.Intent : AppSchema.RemindersIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.ClockIntent
Declaration
extension AppSchema.Intent : AppSchema.ClockIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.NotesIntent
Declaration
extension AppSchema.Intent : AppSchema.NotesIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.CalendarIntent
Declaration
extension AppSchema.Intent : AppSchema.CalendarIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.PhoneIntent
Declaration
extension AppSchema.Intent : AppSchema.PhoneIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.MapsIntent
Declaration
extension AppSchema.Intent : AppSchema.MapsIntent {
}
extension
AppSchema.Intent
NewiOSmacOStvOSwatchOSextension AppSchema.Intent : AppSchema.AppStoreIntent
Declaration
extension AppSchema.Intent : AppSchema.AppStoreIntent {
}
extension
AppSchema.Intent
NewmacOSextension AppSchema.Intent : AppSchema.VisualIntelligenceIntent
Declaration
extension AppSchema.Intent : AppSchema.VisualIntelligenceIntent {
}
extension
AppSchema.MailEntity
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewmacOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension Calendar.RecurrenceRule : @retroactive IntentValueConvertible
Declaration
extension Calendar.RecurrenceRule : @retroactive IntentValueConvertible {
}
extension
CSSearchableItem
NewiOSmacOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension CVReadOnlyPixelBuffer : @retroactive IntentValueConvertible
Declaration
extension CVReadOnlyPixelBuffer : @retroactive IntentValueConvertible {
}
extension
CVReadOnlyPixelBuffer
NewiOSmacOStvOSwatchOSextension CVReadOnlyPixelBuffer : @retroactive IntentValueExpressing
Declaration
extension CVReadOnlyPixelBuffer : @retroactive IntentValueExpressing {
}
extension
CVReadOnlyPixelBuffer
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSextension 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
NewiOSmacOSpublic 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
NewiOSmacOStvOSwatchOSextension IntentCurrencyAmount : IntentValueConvertible
Declaration
extension IntentCurrencyAmount : IntentValueConvertible {
}
struct
IntentExecutionTargets
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension IntentFile : IntentValueConvertible
Declaration
extension IntentFile : IntentValueConvertible {
}
extension
IntentParameter
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension IntentPaymentMethod : IntentValueConvertible
Declaration
extension IntentPaymentMethod : IntentValueConvertible {
}
extension
IntentPerson
NewiOSmacOStvOSwatchOSextension IntentPerson : IntentValueConvertible
Declaration
extension IntentPerson : IntentValueConvertible {
}
struct
IntentPrompt
NewiOSmacOSpublic struct IntentPrompt : Sendable
Declaration
public struct IntentPrompt : Sendable {
public var text: String
public var files: [IntentFile]
public init(text: String, files: [IntentFile])
}
extension
IntentPrompt
NewiOSmacOSextension 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
NewiOSmacOStvOSwatchOSpublic struct IntentResponseStream<Value>
Declaration
public struct IntentResponseStream<Value> {
}
extension
IntentResponseStream
NewiOSmacOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSpublic 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
NewiOSmacOStvOSwatchOSextension StringSearchCriteria : IntentValueConvertible
Declaration
extension StringSearchCriteria : IntentValueConvertible {
}
protocol
SyncableEntity
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSmacOStvOSwatchOSextension 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
NewiOSpublic 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
NewiOSextension 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
NewiOSextension SystemShortcut : IntentValueConvertible
Declaration
extension SystemShortcut : IntentValueConvertible {
}
var
AppIntent.allowedExecutionTargets
NewiOSmacOStvOSwatchOSstatic 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic typealias ExecutionTargets = IntentExecutionTargets
typealias
CVReadOnlyPixelBuffer.Specification
NewiOSmacOStvOSwatchOSpublic typealias Specification = EmptyResolverSpecification<CVReadOnlyPixelBuffer>
typealias
CVReadOnlyPixelBuffer.UnwrappedType
NewiOSmacOStvOSwatchOSpublic typealias UnwrappedType = CVReadOnlyPixelBuffer
typealias
CVReadOnlyPixelBuffer.ValueType
NewiOSmacOStvOSwatchOSpublic typealias ValueType = CVReadOnlyPixelBuffer
typealias
EntityCollection.ArrayLiteralElement
NewiOSmacOStvOSwatchOSpublic typealias ArrayLiteralElement = Entity.ID
The type of the elements of an array literal.
typealias
EntityCollection.Element
NewiOSmacOStvOSwatchOSpublic typealias Element = Entity.ID
A type representing the sequence's elements.
typealias
EntityCollection.Index
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic typealias Indices = DefaultIndices<EntityCollection<Entity>>
A type that represents the indices that are valid for subscripting the collection, in ascending order.
typealias
EntityCollection.Iterator
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic typealias Specification = some ResolverSpecification
typealias
EntityCollection.SubSequence
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic typealias ArrayLiteralElement = EntityOwnership
The type of the elements of an array literal.
typealias
EntityOwnership.Element
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSstatic var allowedExecutionTargets: IntentExecutionTargets { get }
A set of targets that can run this query.
typealias
EntityQuery.ExecutionTargets
NewiOSmacOStvOSwatchOStypealias ExecutionTargets = IntentExecutionTargets
typealias
IntentExecutionTargets.ArrayLiteralElement
NewiOSmacOStvOSwatchOSpublic typealias ArrayLiteralElement = IntentExecutionTargets
The type of the elements of an array literal.
typealias
IntentExecutionTargets.Element
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOSpublic typealias Specification = some ResolverSpecification
typealias
IntentPrompt.UnwrappedType
NewiOSmacOSpublic typealias UnwrappedType = IntentPrompt
typealias
IntentPrompt.ValueType
NewiOSmacOSpublic typealias ValueType = IntentPrompt
typealias
LongRunningTaskOptions.ArrayLiteralElement
NewiOSmacOStvOSwatchOSpublic typealias ArrayLiteralElement = LongRunningTaskOptions
The type of the elements of an array literal.
typealias
LongRunningTaskOptions.Element
NewiOSmacOStvOSwatchOSpublic 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
NewiOSmacOStvOSwatchOSpublic 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
NewiOSpublic typealias PerformResult = IntentResultContainer<Never, Never, Never, Never>
typealias
RunSystemShortcutIntent.SummaryContent
NewiOSpublic 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
NewiOSpublic typealias Specification = EmptyResolverSpecification<SystemShortcut>
typealias
SystemShortcut.UnwrappedType
NewiOSpublic typealias UnwrappedType = SystemShortcut
typealias
SystemShortcut.ValueType
NewiOSpublic typealias ValueType = SystemShortcut
No APIs match your filter.