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>.