One Logo Pool Ball
AppIntents · IOS API REFERENCE

AppSchema.BooksEntity

protocol · iOS 18.0+ · SDK 27.1

protocol BooksEntity : AppSchema.Kind

Identifies entity schemas in the books domain.

Members (3)

get · iOS 18.0+

book

Swift declaration
var book: some AppSchemaEntity { get }

An entity schema for a book. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `books` domain and its content matches the `book` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .books.book)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `book` schema: ```swift @AppEntity(schema: .books.book) struct BookEntity { // MARK: Static static let defaultQuery = BookEntityQuery() // MARK: Properties let id: <#Identifiable.ID#> var title: String? var seriesTitle: String? var author: String? var genre: String? var purchaseDate: Date? var url: URL? var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct BookEntityQuery: EntityQuery { func entities(for identifiers: [BookEntity.ID]) async throws -> [BookEntity] { <#code#> } } } ``` The schema supports the following system experiences: - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

get · iOS 18.0+

settings

Swift declaration
var settings: some AppSchemaEntity { get }

An entity schema for settings. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `books` domain and its content matches the `settings` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .books.settings)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `settings` schema: ```swift @AppEntity(schema: .books.settings) struct BookSettingsEntity { // MARK: Static static let defaultQuery = BookSettingsEntityQuery() // MARK: Properties let id: <#Identifiable.ID#> var font: <#BookFont#> var fontSize: <#BookFontSize#> var theme: <#BookTheme#> var pageNavigationSetting: <#BookPageNavigationSetting#> var isTextJustified: Bool var isAllowMultipleColumns: Bool var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct BookSettingsEntityQuery: EntityQuery { func entities(for identifiers: [BookSettingsEntity.ID]) async throws -> [BookSettingsEntity] { <#code#> } } } ``` The schema supports the following system experiences: - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

get · iOS 18.0+

audiobook

Swift declaration
var audiobook: some AppSchemaEntity { get }

An entity schema for an audiobook. To make your app's content available to Apple Intelligence, conform your ``AppEntity`` to a schema that describes your content to the system. If your app's functionality aligns with the `books` domain and its content matches the `audiobook` schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the `@AppEntity( .books.audiobook)` Swift macro. To make your app work with Siri, see <doc://com.apple.documentation/documentation/appintents/apple-intelligence-and-siri-ai>. The following example shows an app entity that conforms to the `audiobook` schema: ```swift @AppEntity(schema: .books.audiobook) struct AudiobookEntity { // MARK: Static static let defaultQuery = AudiobookEntityQuery() // MARK: Properties let id: <#Identifiable.ID#> var title: String? var seriesTitle: String? var author: String? var genre: String? var purchaseDate: Date? var url: URL? var displayRepresentation: DisplayRepresentation { <#DisplayRepresentation#> } // MARK: Query struct AudiobookEntityQuery: EntityQuery { func entities(for identifiers: [AudiobookEntity.ID]) async throws -> [AudiobookEntity] { <#code#> } } } ``` The schema supports the following system experiences: - Shortcuts For more information about the App Intents framework and the experiences it supports, see <doc://com.apple.documentation/documentation/appintents/getting-started-with-the-app-intents-framework>.

Skipped declarations

No declarations were skipped in this snapshot.

All AppIntents types →