Contents

IntentRecommendation

An object that describes a recommended intent configuration for a user-customizable widget.

Declaration

struct IntentRecommendation<T> where T : INIntent

Overview

By adding a custom SiriKit intent definition to your project and using an IntentTimelineProvider, you allow users to configure widgets to show data that’s most relevant to them. Some platforms don’t have a dedicated user interface to configure all of your intent parameters. For example, watchOS doesn’t offer a dedicated user interface to configure data that appears on a complication. Use intent recommendations in watchOS to offer preconfigured complications that show data that’s most relevant to the user.

For example, say you develop a game app that allows users to view their in-game character. With intent recommendations, you can recommend an intent configuration for a watch complication that displays character information.

The following example shows a function to create a list of recommended configurations for a game widget that shows current energy levels for a game character.

public func recommendations() -> [IntentRecommendation<DynamicCharacterSelectionIntent>] {
    return CharacterDetail.availableCharacters.
        map { character in
            let hero = Hero(identifier: character.name, display: character.name)
            let intent = DynamicCharacterSelectionIntent()
            intent.hero = hero

            return IntentRecommendation(intent: intent, description: Text(character.name))
        }
    }

Topics

Creating a Recommended Widget Configuration

Initializers

See Also

Smart Stacks