Contents

document

The app entity describes a document.

Declaration

var document: some AssistantSchemas.Entity { get }

Overview

Use Swift macros that generate additional properties and add protocol conformance for your app entity implementation The following example shows an app entity that conforms to the .reader.document schema:

@AppEntity(schema: .reader.document)
struct ReaderDocumentEntity: AppEntity {
    struct Query: EntityStringQuery {
        func entities(for identifiers: [ReaderDocumentEntity.ID]) async throws -> [ReaderDocumentEntity] { [] }
        func entities(matching string: String) async throws -> [ReaderDocumentEntity] { [] }
    }
    static var defaultQuery = Query()
    var displayRepresentation: DisplayRepresentation { "Document" }

    let id = UUID()

    @Property
    var title: String

    @Property
    var kind: ReaderDocumentKind

    @Property
    var width: Int?

    @Property
    var height: Int?
}

For more information about the .reader app intent domain, see doc:Making-document-reader-actions-available-to-siri-and-apple-intelligence. For general information about app intent domains, see doc:Integrating-actions-with-siri-and-apple-intelligence.