AppIntents tvOS 16.0 20J5319f to 20J5328e API Differences

AppDependency
Added AppDependency
Added AppDependency.init(key:manager:)
Added AppDependency.init(key:manager:default:)
Added AppDependency.projectedValue
Added AppDependency.wrappedValue
AppDependencyManager
Added AppDependencyManager
Added AppDependencyManager.shared /* static */
Added AppDependencyManager.init()
Added AppDependencyManager.add(key:dependency:)
AppEnum
Modified AppEnum
Replacement
From@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public protocol AppEnum: AppIntents.AppValue, AppIntents.StaticDisplayRepresentable, Swift.RawRepresentable where Self.RawValue == Swift.String
To@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public protocol AppEnum: AppIntents.AppValue, AppIntents.StaticDisplayRepresentable, Swift.RawRepresentable where Self.RawValue: Swift.LosslessStringConvertible

AppEnumOptionsProvider
Added AppEnumOptionsProvider
Added AppEnumOptionsProvider.init(supportedValues:)
Added AppEnumOptionsProvider.results()
Added AppEnumOptionsProvider.DefaultValue
Added AppEnumOptionsProvider.Result
AppIntent
Modified AppIntent
Protocols
Fromnone
ToAppIntents.PersistentlyIdentifiable

AppShortcutProviding
Removed AppShortcutProviding
AppShortcutsProvider
Modified AppShortcutsProvider
DeclarationReplacement
Fromtypealias@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public typealias AppShortcutsProvider = AppIntents.AppShortcutProviding
Toprotocol@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public protocol AppShortcutsProvider

AppValue
Modified AppValue
Protocols
Fromnone
ToAppIntents.PersistentlyIdentifiable

DefaultResultProvider
Added DefaultResultProvider
DynamicOptionsItem
Removed DynamicOptionsItem
Removed DynamicOptionsItem.description
Removed DynamicOptionsItem.indentationLevel
Removed DynamicOptionsItem.value
DynamicOptionsProvider
Modified DynamicOptionsProvider
Protocols
Fromnone
ToAppIntents.DefaultResultProvider

DynamicOptionsResult
Removed DynamicOptionsResult
Removed DynamicOptionsResult.emptyResult /* static */
Removed DynamicOptionsResult.init(promptLabel:usesIndexedCollation:items:)
Removed DynamicOptionsResult.init(promptLabel:usesIndexedCollation:sections:)
Removed DynamicOptionsResult.init(promptLabel:usesIndexedCollation:sectionsBuilder:)
Removed DynamicOptionsResult.allResults
Removed DynamicOptionsResult.promptLabel
Removed DynamicOptionsResult.sections
Removed DynamicOptionsResult.usesIndexedCollation
DynamicOptionsResultProtocol
Removed DynamicOptionsResultProtocol
DynamicOptionsSection
Removed DynamicOptionsSection
Removed DynamicOptionsSection.init(items:)
Removed DynamicOptionsSection.init(title:items:)
Removed DynamicOptionsSection.description
Removed DynamicOptionsSection.items
EmptyResolverSpecification
Modified EmptyResolverSpecification
Replacement
From@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public struct EmptyResolverSpecification<T>: AppIntents.ResolverSpecification where T: AppIntents._IntentValue
To@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public struct EmptyResolverSpecification<Value>: AppIntents.ResolverSpecification where Value: AppIntents._IntentValue

Modified EmptyResolverSpecification.==(a:b:) /* static */
Replacement
Frompublic static func ==(a: AppIntents.EmptyResolverSpecification<T>, b: AppIntents.EmptyResolverSpecification<T>) -> Swift.Bool
Topublic static func ==(a: AppIntents.EmptyResolverSpecification<Value>, b: AppIntents.EmptyResolverSpecification<Value>) -> Swift.Bool

Modified EmptyResolverSpecification.makeIterator()
Replacement
Frompublic func makeIterator() -> Swift.IndexingIterator<[AppIntents.Resolver]>
Topublic func makeIterator() -> Swift.IndexingIterator<[some AppIntents.Resolver]>

Modified EmptyResolverSpecification.Element
Replacement
Frompublic typealias Element = Swift.IndexingIterator<[AppIntents.Resolver]>.Element
Topublic typealias Element = Swift.IndexingIterator<[some AppIntents.Resolver]>.Element

Modified EmptyResolverSpecification.Iterator
Replacement
Frompublic typealias Iterator = Swift.IndexingIterator<[AppIntents.Resolver]>
Topublic typealias Iterator = Swift.IndexingIterator<[some AppIntents.Resolver]>

Modified EmptyResolverSpecification.Output
Replacement
Frompublic typealias Output = T
Topublic typealias Output = Value

EntityIdentifier
Modified EntityIdentifier.init(for:)
Replacement
Frompublic init<T>(for: T)
Topublic init<Entity>(for: Entity)

Modified EntityIdentifier.init(for:identifier:)
Replacement
Frompublic init<T>(for: T.Type, identifier: T.ID)
Topublic init<Entity>(for: Entity.Type, identifier: Entity.ID)

Modified EntityIdentifier.entityType
Replacement
Frompublic let entityType: AppIntents.AppEntity.Type
Topublic let entityType: some AppIntents.AppEntity.Type

Removed EntityIdentifier.interactionId
EntityProperty
Removed EntityProperty.fullyQualifiedIdentifier
Removed EntityProperty.identifier
EntityQuery
Modified EntityQuery
Protocols
Fromnone
ToAppIntents.DefaultResultProvider, AppIntents.PersistentlyIdentifiable

EntityQueryComparator
Modified EntityQueryComparator
Replacement
From@_hasMissingDesignatedInitializers @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public class EntityQueryComparator<Property, PropertyType, InputType, ComparatorMappingType> where ComparatorMappingType: Swift.Sendable, InputType: AppIntents._IntentValue, Property: AppIntents.EntityProperty<PropertyType>, PropertyType: AppIntents._IntentValue
To@_hasMissingDesignatedInitializers @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public class EntityQueryComparator<Property, PropertyType, InputType, ComparatorMappingType> where InputType: AppIntents._IntentValue, Property: AppIntents.EntityProperty<PropertyType>, PropertyType: AppIntents._IntentValue

EntityQueryComparatorMode
Modified EntityQueryComparatorMode
Replacement
Fromnone
To@frozen

EntityQueryComparatorsBuilder
Modified EntityQueryComparatorsBuilder.buildExpression(_:) /* static */
Replacement
Frompublic static func buildExpression(_: AppIntents.EntityQueryComparator<Property, PropertyType, PropertyType.UnwrappedType, ComparatorMappingType>) -> AppIntents.AnyEntityQueryComparator<Entity, Subject, Property, PropertyType, ComparatorMappingType> where ComparatorMappingType: Swift.Sendable, PropertyType: Swift.ExpressibleByNilLiteral
Topublic static func buildExpression(_: AppIntents.EntityQueryComparator<Property, PropertyType, PropertyType.UnwrappedType, ComparatorMappingType>) -> AppIntents.AnyEntityQueryComparator<Entity, Subject, Property, PropertyType, ComparatorMappingType> where PropertyType: Swift.ExpressibleByNilLiteral

EntityQuerySort
Modified EntityQuerySort.Ordering
Replacement
Fromnone
To@frozen

IntentDependency
Removed IntentDependency
Removed IntentDependency.init(key:manager:)
Removed IntentDependency.init(key:manager:default:)
Removed IntentDependency.projectedValue
Removed IntentDependency.wrappedValue
IntentDependencyManager
Removed IntentDependencyManager
Removed IntentDependencyManager.shared /* static */
Removed IntentDependencyManager.init()
Removed IntentDependencyManager.add(key:dependency:)
IntentDonationIdentifier
Modified IntentDonationIdentifier.init(from:)
Replacement
Frompublic init(from: Swift.Decoder) throws
Topublic init(from: some Swift.Decoder) throws

Modified IntentDonationIdentifier.encode(to:)
Replacement
Frompublic func encode(to: Swift.Encoder) throws
Topublic func encode(to: some Swift.Encoder) throws

IntentDonationManager
Added IntentDonationManager.donate(intent:)
Modified IntentDonationManager.donate(intent:result:)
Replacement
From@discardableResult public func donate<Intent, IntentPerformResultType>(intent: Intent, result: IntentPerformResultType? = nil) -> AppIntents.IntentDonationIdentifier where Intent: AppIntents.AppIntent, IntentPerformResultType: AppIntents.IntentPerformResult
To@discardableResult public func donate(intent: some AppIntent, result: some IntentResult) -> AppIntents.IntentDonationIdentifier

IntentDonationMatchingPredicate
Modified IntentDonationMatchingPredicate.intentType(_:entityIdentifier:) /* static */
Replacement
Frompublic static func intentType(_: AppIntents.AppIntent.Type, entityIdentifier: AppIntents.EntityIdentifier? = nil) -> AppIntents.IntentDonationMatchingPredicate
Topublic static func intentType(_: some AppIntents.AppIntent.Type, entityIdentifier: AppIntents.EntityIdentifier? = nil) -> AppIntents.IntentDonationMatchingPredicate

IntentError
Removed IntentError
Removed IntentError.==(a:b:) /* static */
Removed IntentError.hashValue
Removed IntentError.hash(into:)
IntentItem
Added IntentItem
Added IntentItem.description
Added IntentItem.value
IntentItemCollection
Added IntentItemCollection
Added IntentItemCollection.emptyResult /* static */
Added IntentItemCollection.init(promptLabel:usesIndexedCollation:items:)
Added IntentItemCollection.init(promptLabel:usesIndexedCollation:sections:)
Added IntentItemCollection.init(promptLabel:usesIndexedCollation:sectionsBuilder:)
Added IntentItemCollection.allResults
Added IntentItemCollection.promptLabel
Added IntentItemCollection.sections
Added IntentItemCollection.usesIndexedCollation
IntentItemSection
Added IntentItemSection
Added IntentItemSection.init(items:)
Added IntentItemSection.init(title:items:)
Added IntentItemSection.description
Added IntentItemSection.items
IntentParameter
Removed IntentParameter.identifier
IntentPerformResult
Removed IntentPerformResult
IntentResult
Removed IntentResult
Removed IntentResult.dialog
Removed IntentResult.value
IntentResultContainer
Added IntentResultContainer
Added IntentResultContainer.dialog
Added IntentResultContainer.opensIntent
Added IntentResultContainer.value
OpensIntent
Added OpensIntent
ParameterSummaryTupleCaseCondition
Modified ParameterSummaryTupleCaseCondition
Replacement
From@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public struct ParameterSummaryTupleCaseCondition<Intent, Value, T>: AppIntents._ParameterSummarySwitchCase where Intent: AppIntents.AppIntent, Value: AppIntents._IntentValue
To@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public struct ParameterSummaryTupleCaseCondition<Intent, Value, ValueType>: AppIntents._ParameterSummarySwitchCase where Intent: AppIntents.AppIntent, Value: AppIntents._IntentValue

ParameterSummaryWhenCondition
Modified ParameterSummaryWhenCondition
Replacement
From@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public struct ParameterSummaryWhenCondition<Intent, ParameterSummaryWhenCondition, Otherwise>: AppIntents.ParameterSummary where Intent: AppIntents.AppIntent, Otherwise: AppIntents.ParameterSummary, ParameterSummaryWhenCondition: AppIntents.ParameterSummary
To@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public struct ParameterSummaryWhenCondition<Intent, WhenCondition, Otherwise>: AppIntents.ParameterSummary where Intent: AppIntents.AppIntent, Otherwise: AppIntents.ParameterSummary, WhenCondition: AppIntents.ParameterSummary

PersistentlyIdentifiable
Added PersistentlyIdentifiable
ProvidesDialog
Added ProvidesDialog
RawRepresentableStringQuery
Removed RawRepresentableStringQuery
Removed RawRepresentableStringQuery.init()
Removed RawRepresentableStringQuery.DefaultValue
Removed RawRepresentableStringQuery.Result
ResolverSpecification
Modified ResolverSpecification
Replacement
From@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public protocol ResolverSpecification: Swift.Hashable, Swift.Sendable, Swift.Sequence where Self.Element == AppIntents.Resolver
To@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *) public protocol ResolverSpecification: Swift.Hashable, Swift.Sendable, Swift.Sequence where Self.Element == some AppIntents.Resolver

ShowsSnippetView
Added ShowsSnippetView
StringComparisonOperator
Added StringComparisonOperator
Added StringComparisonOperator.==(a:b:) /* static */
Added StringComparisonOperator.hashValue
Added StringComparisonOperator.hash(into:)
TypeDisplayRepresentation
Added TypeDisplayRepresentation
Added TypeDisplayRepresentation.init(name:numericFormat:)
Added TypeDisplayRepresentation.init(stringLiteral:)
Added TypeDisplayRepresentation.name
Added TypeDisplayRepresentation.numericFormat
Added TypeDisplayRepresentation.ExtendedGraphemeClusterLiteralType
Added TypeDisplayRepresentation.StringLiteralType
Added TypeDisplayRepresentation.UnicodeScalarLiteralType