はじめに
iOS 16以降、AppleはApp Intentsフレームワークを導入しました。これは従来のSiriKitに代わり、新しい形のアプリ統合・自動化・音声操作のための仕組みです。App Intentsを使うことで、Siri、Shortcuts、Spotlight、アプリ内検索などから、よりシームレスにアプリの機能を呼び出すことが可能になります。
この記事では、SwiftUIで作成したシンプルなアプリに App Intents を追加し、Shortcuts や Siri から機能を呼び出せるようにするまでの流れをまとめます。実装手順や設定内容を中心に、実際のコード例を交えながら整理していきます。
開発環境
本記事は、以下の環境を前提にしています。
- Xcode 16.2
- Swift / SwiftUI
- iOS 16 以上
今回作るもの
今回はサンプルとして、以下のような非常にシンプルな商品管理アプリ ItemLogger を用意します。
- 商品名を入力して追加できる

UI実装自体はSwiftUIの基本的な内容なので、本記事では詳細は割愛します。 重要なのは「このアプリに App Intents を追加し、Shortcuts / Siri から商品追加を行えるようにする」点です。
App Intents の全体像
App Intentsを使ったShortcuts連携では、主に以下の2つを実装します。
- AppIntents
- 実際に行いたい処理(今回で言えば「商品を追加する」)を定義
- AppShortcutsProvider
- Shortcutsアプリ上で、どのIntentをどんなフレーズで呼び出せるかを定義
この2つをAppターゲット内に追加するだけで、Extensionを作らずにShortcuts対応が可能です。
AddItemIntent を実装する
まずは、商品を追加するための AppIntents を作成します。
ファイル作成
- Xcodeで New File → Swift File を選択
- ファイル名を
AddItemIntent.swiftとする
※ Xcode 16.2 では「App Intent専用テンプレート」は表示されないため、通常のSwiftファイルで問題ありません。
実装例

ポイントは以下の通りです。
@Parameterを使うことで、ShortcutsやSiriから入力可能な引数になるperform()はasyncなので、非同期処理はawaitを付けて呼び出す
AppShortcutsProvider を実装する
次に、Shortcutsアプリに表示するための設定を行います。
ファイル作成
ItemShortcutsProvider.swiftを新規作成
プロトコル定義について(重要)
Xcode 16.2 時点の AppShortcutsProvider は、以下のような定義になっています。
@AppShortcutsBuilder static var appShortcuts: [AppShortcut]static var shortcutTileColor: ShortcutTileColor
この2つの 両方の実装が必須 です。ここを見落とすと、”Type does not conform to protocol ‘AppShortcutsProvider’“というエラーが発生します。
実装例

ここで指定した phrases が、Siriに話しかける際の呼び出しフレーズになります。
Shortcuts アプリから実行する
- iPhoneで Shortcuts アプリを起動
- 「+」→「アクションを追加」
- 「App」→「ItemLogger」を選択

4. 「商品を追加」を選択

5. 商品名を入力して実行

実行後、ItemLoggerを開いて商品が追加されていれば成功です。

Siri から実行する
Siriを有効にした状態で、以下のように話しかけます。
「Hey Siri、商品を追加」
すると、Siriが「商品名はどうしますか?」

と聞いてくるので、続けて商品名を答えると、アプリ内に商品が追加されます。
おわりに
App Intentsは、最初は分かりづらい部分もありますが、実際に手を動かしてみると「意外とシンプル」だと感じました。
特に、Extensionを作らずにShortcutsやSiri対応ができる点は非常に魅力的です。
この記事が、これからApp Intentsを触ってみようという方の助けになれば幸いです。








