Issue #902

iOS 13 Intents Extension & Intents UI Extension

Siri can predict shortcuts to actions that a user may want to perform using your app, and suggest those shortcuts to the user in places such as Spotlight search, Lock Screen, and the Siri watch face. Siri learns about the shortcuts available for your app through donations that your app makes to Siri.

To handle the shortcut, implement the application(_:continue:restorationHandler:) method in your app delegate. When the time comes to handle the action, the system opens your app. To provide a better user experience—one where opening your app each time to handle the shortcut isn’t necessary—provide an Intents App Extension with your app. The extension handles the shortcut in the background without needing to open your app, providing a richer experience that occurs within Siri

Suggest a Shortcut

To suggest a shortcut to an action that the user hasn’t performed but may want to add to Siri, create an INShortcut object with either an INIntent or NSUserActivity object that defines the action.

Add Phrases to Siri

Users can set custom phrases in the Shortcuts app

addShortcutButton = INUIAddVoiceShortcutButton(style: .automaticOutline)
addShortcutButton.shortcut = INShortcut(intent: orderSoupIntent)
addShortcutButton.delegate = configuration.delegate

iOS 14 In app Intents

Empower your intents

Learn how to adopt Siri more easily than ever when you use SiriKit’s in-app intent handling, and how to improve Siri performance with existing Intents app extensions

Handle an Intent in Multiple Versions of iOS

In iOS 14 and later, you can resolve, confirm, and handle long-running or memory-intensive intents directly in your app. In iOS 13 and earlier, SiriKit required you resolve and confirm all intents in an Intents app extension, then send long-running intents to your app for the final handling step

iOS 16 App Intents

Dive into App Intents

App Intent Extension is lightweight, supports focus filter intents, run immediately when Focus changes

Perform the action for your intent

By default, the system launches your app in a limited mode in the background and executes the intent’s perform() function on an arbitrary queue. To override this behavior and launch the app in the foreground, set the intent’s openAppWhenRun variable to true

Intent discovery

Make your intents more discoverable to people by donating them to the system. When someone performs an action in your app, donate an intent that corresponds to that action. The system uses the information you provide to predict actions someone might take in the future.

Donate intents only when someone uses your app’s interface directly. You don’t need to donate intents associated with Siri or interactions with the Shortcuts app because the system donates them automatically.

Implement App Shortcuts with App Intents


Returns the initial results shown when a list of options backed by this query is presented.

Read more