One Logo Pool Ball
AppIntents · IOS API REFERENCE

AppSchema.BooksIntent

protocol · iOS 18.0+ · SDK 27.1

protocol BooksIntent : AppSchema.Kind

Identifies intent schemas in the books domain.

Members (9)

get · iOS 18.0+

navigatePage

Swift declaration
var navigatePage: some AppSchemaIntent { get }

An intent schema that navigates to the next or previous page. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `navigatePage` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.navigatePage)` 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 intent that conforms to the `navigatePage` schema: ```swift @AppIntent(schema: .books.navigatePage) struct NavigateBookPageIntent { var direction: <#BookNavigationDirection#> var target: <#BookEntity#> func perform() async throws -> some IntentResult { <#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+ · Deprecated in iOS 27.0

playAudiobook

Swift declaration
var playAudiobook: some AppSchemaIntent { get }

An intent schema that plays an audiobook. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `playAudiobook` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.playAudiobook)` 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 intent that conforms to the `playAudiobook` schema: ```swift @AppIntent(schema: .books.playAudiobook) struct PlayAudiobookIntent: AudioStartingIntent { var target: <#AudiobookEntity#> func perform() async throws -> some IntentResult { <#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+

updateFontSize

Swift declaration
var updateFontSize: some AppSchemaIntent { get }

An intent schema that updates the font size for a book. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `updateFontSize` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.updateFontSize)` 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 intent that conforms to the `updateFontSize` schema: ```swift @AppIntent(schema: .books.updateFontSize) struct UpdateBookFontSizeIntent { var target: <#BookSettingsEntity#> var changeOperation: <#BookRelativeFontChange#> func perform() async throws -> some IntentResult { <#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+

updateSettings

Swift declaration
var updateSettings: some AppSchemaIntent { get }

An intent schema that updates the settings for a book. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `updateSettings` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.updateSettings)` 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 intent that conforms to the `updateSettings` schema: ```swift @AppIntent(schema: .books.updateSettings) struct UpdateBookSettingsIntent { var target: <#BookSettingsEntity#> var font: <#BookFont#>? var theme: <#BookTheme#>? var pageNavigationSetting: <#BookPageNavigationSetting#>? var isTextJustified: Bool? var isAllowMultipleColumns: Bool? func perform() async throws -> some IntentResult { <#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+

updateLineSpacing

Swift declaration
var updateLineSpacing: some AppSchemaIntent { get }

An intent schema that updates the line spacing for a book. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `updateLineSpacing` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.updateLineSpacing)` 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 intent that conforms to the `updateLineSpacing` schema: ```swift @AppIntent(schema: .books.updateLineSpacing) struct UpdateBookLineSpacingIntent { var target: <#BookSettingsEntity#> var changeOperation: <#BookRelativeLineSpacingChange#> func perform() async throws -> some IntentResult { <#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+

updateWordSpacing

Swift declaration
var updateWordSpacing: some AppSchemaIntent { get }

An intent schema that updates the word spacing for a book. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `updateWordSpacing` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.updateWordSpacing)` 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 intent that conforms to the `updateWordSpacing` schema: ```swift @AppIntent(schema: .books.updateWordSpacing) struct UpdateWordSpacingIntent { var target: <#BookSettingsEntity#> var changeOperation: <#BookRelativeWordSpacingChange#> func perform() async throws -> some IntentResult { <#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+

updateCharacterSpacing

Swift declaration
var updateCharacterSpacing: some AppSchemaIntent { get }

An intent schema that updates the character spacing for a book. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `updateCharacterSpacing` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.updateCharacterSpacing)` 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 intent that conforms to the `updateCharacterSpacing` schema: ```swift @AppIntent(schema: .books.updateCharacterSpacing) struct UpdateCharacterSpacingIntent { var target: <#BookSettingsEntity#> var changeOperation: <#BookRelativeCharacterSpacingChange#> func perform() async throws -> some IntentResult { <#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+ · Deprecated in iOS 27.0

search

Swift declaration
var search: some AppSchemaIntent { get }

An intent schema that opens the app and searches for the given term. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `search` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.search)` 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 intent that conforms to the `search` schema: ```swift @AppIntent(schema: .books.search) struct SearchLibraryIntent: ShowInAppSearchResultsIntent { static var searchScopes: [StringSearchScope] = [.general] var criteria: StringSearchCriteria func perform() async throws -> some IntentResult { <#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+

openBook

Swift declaration
var openBook: some AppSchemaIntent { get }

An intent schema that opens the specified book. To make your app's actions available to Apple Intelligence, conform your ``AppIntent`` to a schema that describes your action to the system. If your app's functionality aligns with the `books` domain and one of your app's actions matches the `openBook` schema, you can generate the properties and protocol conformance the schema requires for your intent implementation with the `@AppIntent( .books.openBook)` 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 intent that conforms to the `openBook` schema: ```swift @AppIntent(schema: .books.openBook) struct OpenBookIntent: OpenIntent { var target: <#BookEntity#> func perform() async throws -> some IntentResult { <#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 →