Contents

message

An entity schema for a message.

Declaration

var message: some AppSchemaEntity { get }

Discussion

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 messages domain and its content matches the message schema, you can generate the properties and protocol conformance the schema requires for your app entity implementation with the @AppEntity( .messages.message) Swift macro. To make your app work with Siri, see Apple Intelligence and Siri AI.

The following example shows an app entity that conforms to the message schema:

@AppEntity(schema: .messages.message)
struct MessageEntity {
    // MARK: Static

    static let defaultQuery = MessageEntityQuery()

    // MARK: Properties

    let id: <#Identifiable.ID#>

    var messageType: <#MessageType#>
    var author: <#MessagePerson#>
    var isRead: Bool
    var attributes: Set<<#MessageAttribute#>>
    var conversation: <#ConversationEntity#>
    var date: Date
    var subject: AttributedString?
    var body: AttributedString?
    var attachments: [IntentFile]
    var audioMessage: IntentFile?
    var customAttachments: [<#CustomAttachment#>]
    var locations: [GeoToolbox.PlaceDescriptor]
    var links: [LinkPresentation.LinkMetadata]
    var messageEffect: <#MessageEffect#>?
    var reaction: <#ReadReaction#>?
    var referencedMessage: <#MessageEntity#>?
    var notificationIdentifier: String?

    var displayRepresentation: DisplayRepresentation {
        <#DisplayRepresentation#>
    }

    // MARK: Query

    struct MessageEntityQuery: EntityQuery {
        func entities(for identifiers: [MessageEntity.ID]) async throws -> [MessageEntity] {
            <#code#>
        }
    }
}

The schema supports the following system experiences:

  • Siri

  • Shortcuts

For more information about the App Intents framework and the experiences it supports, see Getting started with the App Intents framework.

See Also

Content and parameter types