var recognizedPerson: some AppSchemaEntity { get }
An entity schema for a recognized person.
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 `photos` domain
and its content matches the `recognizedPerson` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .photos.recognizedPerson)` 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 `recognizedPerson` schema:
```swift
@AppEntity(schema: .photos.recognizedPerson)
struct PhotoPersonEntity {
// MARK: Static
static let defaultQuery = PhotoPersonEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var name: String
var isFavorite: Bool
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct PhotoPersonEntityQuery: EntityQuery {
func entities(for identifiers: [PhotoPersonEntity.ID]) async throws -> [PhotoPersonEntity] {
<#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+
album
Swift declaration
var album: some AppSchemaEntity { get }
An entity schema for an album.
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 `photos` domain
and its content matches the `album` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .photos.album)` 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 `album` schema:
```swift
@AppEntity(schema: .photos.album)
struct PhotoAlbumEntity {
// MARK: Static
static let defaultQuery = PhotoAlbumEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var name: String
var creationDate: Date?
var albumType: <#PhotoAlbumType#>
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct PhotoAlbumEntityQuery: EntityQuery {
func entities(for identifiers: [PhotoAlbumEntity.ID]) async throws -> [PhotoAlbumEntity] {
<#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 27.0+
asset
Swift declaration
var asset: some AppSchemaEntity { get }
An entity schema for an asset.
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 `photos` domain
and its content matches the `asset` schema,
you can generate the properties and protocol conformance the schema requires
for your app entity implementation
with the `@AppEntity( .photos.asset)` 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 `asset` schema:
```swift
@AppEntity(schema: .photos.asset)
struct PhotoEntity {
// MARK: Static
static let defaultQuery = PhotoEntityQuery()
// MARK: Properties
let id: <#Identifiable.ID#>
var creationDate: Date?
var location: GeoToolbox.PlaceDescriptor?
var assetType: <#PhotoAssetType#>?
var isFavorite: Bool
var isHidden: Bool
var hasSuggestedEdits: Bool
var aperture: Double?
var exposure: Double?
var saturation: Double?
var warmth: Double?
var filter: <#PhotoFilterEffectType#>?
var isPortraitModeEnabled: Bool?
var displayRepresentation: DisplayRepresentation {
<#DisplayRepresentation#>
}
// MARK: Query
struct PhotoEntityQuery: EntityQuery {
func entities(for identifiers: [PhotoEntity.ID]) async throws -> [PhotoEntity] {
<#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>.