はじめに

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つを実装します。

  1. AppIntents
    • 実際に行いたい処理(今回で言えば「商品を追加する」)を定義
  2. 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 アプリから実行する

  1. iPhoneで Shortcuts アプリを起動
  2. 「+」→「アクションを追加」
  3. 「App」→「ItemLogger」を選択

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

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

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

Siri から実行する

Siriを有効にした状態で、以下のように話しかけます。

「Hey Siri、商品を追加」

すると、Siriが「商品名はどうしますか?」

と聞いてくるので、続けて商品名を答えると、アプリ内に商品が追加されます。

おわりに

App Intentsは、最初は分かりづらい部分もありますが、実際に手を動かしてみると「意外とシンプル」だと感じました。

特に、Extensionを作らずにShortcutsやSiri対応ができる点は非常に魅力的です。

この記事が、これからApp Intentsを触ってみようという方の助けになれば幸いです。



ギャップロを運営しているアップフロンティア株式会社では、一緒に働いてくれる仲間を随時、募集しています。 興味がある!一緒に働いてみたい!という方は下記よりご応募お待ちしております。
採用情報をみる