Contents

file

The app entity describes a file.

Declaration

var file: 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 .files.file schema:

@AppEntity(schema: .files.file)
struct ExampleFileEntity: FileEntity {
    var displayRepresentation: AppIntents.DisplayRepresentation { "Example File" }

    static var supportedContentTypes = [UTType.image]

    var id: FileEntityIdentifier

    @Property
    var creationDate: Date?

    @Property
    var fileModificationDate: Date?

    struct Query: EntityStringQuery {
        func entities(for identifiers: [ExampleFileEntity.ID]) async throws -> [ExampleFileEntity] { [] }
        func entities(matching string: String) async throws -> [ExampleFileEntity] { [] }
    }
}

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