An entity schema for a reading list item.
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 `browser` domain
and its content matches the `readingListItem` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .browser.readingListItem)` 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 `readingListItem` schema:
```swift
@AppEntity(schema: .browser.readingListItem)
struct ReadingListItemEntity {
// MARK: Static
static let defaultQuery = ReadingListItemEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var title: String
var url: URL
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct ReadingListItemEntityQuery: EntityQuery {
func entities(for identifiers: [ReadingListItemEntity.ID]) async throws -> [ReadingListItemEntity] {
<#code#>
}
}
}
```
The schema supports the following system experiences:
- Siri
- 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+
tab
Swift declaration
var tab: some AppSchemaEntity { get }
An entity schema for a tab.
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 `browser` domain
and its content matches the `tab` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .browser.tab)` 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 `tab` schema:
```swift
@AppEntity(schema: .browser.tab)
struct TabEntity {
// MARK: Static
static let defaultQuery = TabEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var name: String
var url: URL?
var isPrivate: Bool
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct TabEntityQuery: EntityQuery {
func entities(for identifiers: [TabEntity.ID]) async throws -> [TabEntity] {
<#code#>
}
}
}
```
The schema supports the following system experiences:
- Siri
- 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+
window
Swift declaration
var window: some AppSchemaEntity { get }
An entity schema for a window.
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 `browser` domain
and its content matches the `window` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .browser.window)` 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 `window` schema:
```swift
@AppEntity(schema: .browser.window)
struct WindowEntity {
// MARK: Static
static let defaultQuery = WindowEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var tabs: [<#TabEntity#>]
var isPrivate: Bool
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct WindowEntityQuery: EntityQuery {
func entities(for identifiers: [WindowEntity.ID]) async throws -> [WindowEntity] {
<#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+
bookmark
Swift declaration
var bookmark: some AppSchemaEntity { get }
An entity schema for a bookmark.
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 `browser` domain
and its content matches the `bookmark` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .browser.bookmark)` 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 `bookmark` schema:
```swift
@AppEntity(schema: .browser.bookmark)
struct BookmarkEntity {
// MARK: Static
static let defaultQuery = BookmarkEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var name: String
var url: URL
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct BookmarkEntityQuery: EntityQuery {
func entities(for identifiers: [BookmarkEntity.ID]) async throws -> [BookmarkEntity] {
<#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 27.0+
tabGroup
Swift declaration
var tabGroup: some AppSchemaEntity { get }
An entity schema for a tab group.
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 `browser` domain
and its content matches the `tabGroup` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .browser.tabGroup)` 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 `tabGroup` schema:
```swift
@AppEntity(schema: .browser.tabGroup)
struct TabGroupEntity {
// MARK: Static
static let defaultQuery = TabGroupEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var title: String
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct TabGroupEntityQuery: EntityQuery {
func entities(for identifiers: [TabGroupEntity.ID]) async throws -> [TabGroupEntity] {
<#code#>
}
}
}
```
The schema supports the following system experiences:
- Siri
- 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>.