Contents

activity

An enum schema for an activity parameter.

Declaration

var activity: some AppSchemaEnum { get }

Discussion

To make your app’s parameter types available to Apple Intelligence, conform your AppEnum to a schema that describes a parameter’s possible values to the system. If your app’s functionality aligns with the audio domain and a parameter type matches the activity schema, you can generate the protocol conformance the schema requires for your app enum implementation with the @AppEnum( .audio.activity) Swift macro. To make your app work with Siri, see Apple Intelligence and Siri AI.

The following example shows an app enum that conforms to the activity schema:

@AppEnum(schema: .audio.activity)
enum AudioActivity: String {
    case cooking
    case dining
    case studying
    case focusing
    case reading
    case gaming
    case working
    case showering
    case cleaning
    case relaxing
    case sleeping
    case indoorActivity
    case partying
    case commuting
    case driving
    case traveling
    case gardening
    case barbecuing
    case beachDay
    case roadTrip
    case outdoorActivity
    case meditating
    case yoga
    case walking
    case running
    case strength
    case cycling
    case dance
    case hiit
    case rowing
    case workoutLowIntensity
    case workoutMediumIntensity
    case workoutHighIntensity

    static let caseDisplayRepresentations: [Self: DisplayRepresentation] = [
        .cooking: "Cooking",
        .dining: "Dining",
        .studying: "Studying",
        .focusing: "Focusing",
        .reading: "Reading",
        .gaming: "Gaming",
        .working: "Working",
        .showering: "Showering",
        .cleaning: "Cleaning",
        .relaxing: "Relaxing",
        .sleeping: "Sleeping",
        .indoorActivity: "IndoorActivity",
        .partying: "Partying",
        .commuting: "Commuting",
        .driving: "Driving",
        .traveling: "Traveling",
        .gardening: "Gardening",
        .barbecuing: "Barbecuing",
        .beachDay: "BeachDay",
        .roadTrip: "RoadTrip",
        .outdoorActivity: "OutdoorActivity",
        .meditating: "Meditating",
        .yoga: "Yoga",
        .walking: "Walking",
        .running: "Running",
        .strength: "Strength",
        .cycling: "Cycling",
        .dance: "Dance",
        .hiit: "Hiit",
        .rowing: "Rowing",
        .workoutLowIntensity: "WorkoutLowIntensity",
        .workoutMediumIntensity: "WorkoutMediumIntensity",
        .workoutHighIntensity: "WorkoutHighIntensity"
    ]
}

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

Types for static parameters