One Logo Pool Ball
AppIntents · IOS API REFERENCE

IntentValueRepresentation

struct · iOS 26.4+ · SDK 27.1

struct IntentValueRepresentation<Item, IntentValue> where Item : Transferable, IntentValue : _IntentValue, IntentValue : Sendable

A transfer representation that enables bidirectional conversion between app entities and system intent values. `IntentValueRepresentation` bridges the gap between your custom `AppEntity` types and system-provided intent values (like `IntentPerson`, `PlaceDescriptor`, and other `_SystemIntentValue` types). ## Export and Import You can create a representation that supports export only, or both export and import: ```swift // Export only ValueRepresentation( exporting: { entity in IntentPerson(name: .displayName(entity.name)) } ) // Bidirectional ValueRepresentation( exporting: { entity in IntentPerson(name: .displayName(entity.name)) }, importing: { person in ContactEntity(name: person.name.displayString) } ) ``` ## Key Path-Based Export For entities that directly contain a system intent value property, you can use a simplified key path syntax: ```swift struct LocationEntity: TransientAppEntity, Transferable { @Property var place: PlaceDescriptor static var transferRepresentation: some TransferRepresentation { ValueRepresentation(exporting: \.place) } } ```

Members (0)

This type has no directly callable members in this snapshot. See the framework’s skipped declarations for unsupported APIs.

Skipped declarations

3 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

IntentValueRepresentation.body

This protocol needs associated types that cannot yet cross the bridge.

IntentValueRepresentation.init(exporting:)

This declaration needs Swift generic type arguments. (no canonical witness for IntentValue)

IntentValueRepresentation.init(exporting:importing:)

This declaration needs Swift generic type arguments. (no canonical witness for IntentValue)

All AppIntents types →