Shortcut:iOSの自動化シナリオとは

著者: IT Sectr 公開日: 2026-02-15 読了時間: 9 分

Shortcutは、コードを書かずに複数のアプリやサービスのアクションを連携させる、AppleのShortcutsアプリにおける自動化シナリオです。Shortcutsは、Siriを介した音声、スケジュール、ジオフェンスへの出入り、ウィジェットのタップ、NFCタグへのタッチで起動します。シナリオは、Actionsビルダーでブロックをドラッグ&ドロップして視覚的に作成します。詳細については、Shortcutsユーザーガイドを参照してください。

重要ポイント

  • Shortcut — コードなしでアプリのアクションを連携する自動化シナリオ
  • Shortcutsアプリ — iOSおよびiPadOS向けのActionsブロックを備えたビジュアルビルダー
  • Siri連携 — Shortcutsはユーザーが設定したフレーズで音声起動
  • トリガー — 時間、ジオフェンス、NFC、ウィジェット、アプリ起動、フォーカスモード
  • App Intents — サードパーティアプリのActionsをShortcutsに追加するフレームワーク

Shortcutとは — 自動化シナリオ?

Shortcutは、iOS、iPadOS、macOS、watchOSでタスクを自動化するための、1つのシナリオに組み合わされた一連のアクション(Actions)です。通常のアプリとは異なり、Shortcutに永続的なインターフェースはありません — バックグラウンドで実行されるか、データ入力のためだけにクイックダイアログを表示します。ユーザーはShortcutsアプリでActionsギャラリーからブロックを組み合わせてシナリオを作成し、ワンタップ、音声、またはトリガーによって自動的に起動します。

Shortcutsアプリ — Appleの組み込み自動化ビルダーで、iOS 13+、iPadOS、macOS 12+、watchOSを搭載したすべてのデバイスで利用可能です。Actionsライブラリには300以上の組み込みブロックが含まれています:システム(メッセージ送信、電話、アプリ起動)、メディア(写真、音楽、ポッドキャスト)、インターネット(Get Contents of URLによるREST API)、ファイルとドキュメントの操作。ギャラリーにはAppleとコミュニティからの既製シナリオが含まれています — 連絡先に到着予定時刻を送信することから、ファイルの一括名前変更まで。

Actionsライブラリは、App Intentsフレームワークを通じてサードパーティアプリによって拡張されます。開発者がIntents.intentdefinitionでintentsを登録すると、自動的にShortcutsギャラリーに表示されます。たとえば、Things 3はActions「タスクを作成」と「今日のタスクを表示」を追加し、CARROT Weatherはロケーションパラメータ付きで「今日の予報」を追加します。

iOSでのShortcutsの仕組み

ShortcutsはiOSのサンドボックス内で動作します — シナリオはshortcutedと呼ばれるバックグラウンドプロセスで制限された権限で実行されます。各Actionは、入力パラメータを受け取り、操作を実行し、結果を返す事前定義されたハンドラーの呼び出しです。システムはパイプラインを介してあるActionの出力を次のActionの入力として渡します — ユーザーはエディターでブロック間の青い接続ポイントとしてこれを確認できます。

実行フローは線形です:Actionsは上から順に順次実行されます。条件分岐はIfブロックで実装されます — システムが条件を評価し、対応するブランチを実行します。ループも利用可能です:Repeat(N回繰り返し)、Repeat with Each(リスト項目の反復処理)、For Each。Try/Catchブロックが追加されていない限り、1つのActionでのエラーがシナリオ全体を中断させます。

swift
import Intents

class OrderCoffeeIntentHandler: NSObject, OrderCoffeeIntentHandling {
    func handle(intent: OrderCoffeeIntent,
                completion: @escaping (OrderCoffeeIntentResponse) -> Void) {
        let order = Order(coffee: intent.coffee, size: intent.size)
        placeOrder(order) { success in
            let response = success
                ? OrderCoffeeIntentResponse.success(coffee: intent.coffee)
                : OrderCoffeeIntentResponse.failure(error: "Order failed")
            completion(response)
        }
    }
}

Intentsハンドラーは、INIntentsSupportedキーを介してInfo.plistに登録されます。Siriを介してShortcutが起動されると、システムは適切なIntentHandlerを見つけて非同期的に実行します。応答は、ステータス、メッセージ、およびユーザーに表示するオプションデータを含むINIntentResponseオブジェクトとして返されます。

Shortcutsアプリでのシナリオ作成

Shortcutの作成は、Shortcutsアプリのギャラリーで「+」をタップすることから始まります。ユーザーはカテゴリからActionsを選択します:アプリ、スクリプティング、ウェブ、ファイル、ヘルスケア、ミュージックなど。各Actionは設定可能です — 入力フィールド、トグル、リスト。組み立て後、シナリオはPlayボタンでテストされ、エラーがある場合は問題のあるブロックがハイライト表示されます。共有するには、Shortcutは. shortcutファイルにエクスポートされ、AirDropやiMessageで送信されます。

変数とマジック Shortcutsは変数をサポートしています — あるActionの出力データを別のActionに渡すことができます。マジック変数は自動的に決定されます:前のActionが画像を返す場合、システムはそれを次のActionのパラメータで提案します。ユーザーはSet Variableブロックを使用して名前付き変数を作成し、シナリオのどこでも使用することもできます。

swift
import AppIntents

struct CreateTaskIntent: AppIntent {
    static var title: LocalizedStringResource = "Create Task"
    static var description = IntentDescription(
        "Creates a new task in your to-do list"
    )

    @Parameter(title: "Task Title")
    var taskTitle: String

    func perform() async throws -> some IntentResult {
        let task = TaskModel(title: taskTitle)
        try await Database.shared.save(task)
        return .result(dialog: "Task created")
    }
}

App Intentsは、カスタムintentsのためにIntentsを置き換えたAppleの(iOS 16+、SwiftUI)モダンフレームワークです。古いSiriKitとは異なり、App IntentsはObjective-Cランタイムなしで動作し、async/awaitによる非同期処理をサポートし、Siriのダイアログを自動生成します。CreateTaskIntent構造体はAppIntentプロトコルでマークされ、パラメータは@Parameter属性でマークされます。フレームワークは自動的にShortcutsギャラリーにActionを作成します。

起動トリガーとシステム連携

Shortcutsトリガーは、シナリオが自動的に起動される条件です。設定はShortcutsアプリのAutomationタブで行います。トリガーは、個人用(時間、位置情報、充電)、センサー系(NFC、シェイク)、システム系(アプリ起動、フォーカスモード、CarPlay接続)、イベントベース(メール受信、カレンダーイベント、通知)に分類されます。各トリガーは即時実行または確認要求に設定できます。

トリガー起動条件使用例
時間特定の時刻、日の出/日の入り午後10:00におやすみモードをオン
ジオフェンスエリアへの出入り仕事を出るときに「帰宅中」を送信
NFCNFCタグへのタッチタグにタッチして「スマートホーム」シナリオを起動
アプリアプリの開閉YouTubeを閉じるときにタイマー停止をリマインド
フォーカスフォーカスモードの変更Sleep Focus起動時にダークテーマを有効化
充電電源接続/切断MagSafe接続時に充電ウィジェットを開く

自動化はShortcutsの主要機能であり、開発者権限なしでは通常のアプリでは利用できません。ユーザーはトリガーを一度設定すれば忘れてしまえます — シナリオはバックグラウンドで介入なしに実行されます。たとえば、「帰宅したらWi-Fiをオンにしてマナーモードをオフにする」自動化は、自宅のジオフェンスに入るとトリガーされます。システムは初回設定時に自動化の許可を求め、使用頻度が低い場合は無効にすることがあります。

macOSでのShortcuts — macOS 12 Monterey以降、ShortcutsはMacで利用可能です。シナリオはiCloudを介してすべてのAppleデバイス間で同期されます。Macでは、システムActions(Finder、ターミナル、Automator、AppleScript)がサポートされています。macOS開発者はiOSと同様にApp Intentsを介してActionsを追加できます。

開発者向けApp IntentsとIntentsフレームワーク

App Intentsは、iOS 16+およびmacOS 13+でアプリをShortcutsと統合するための主要フレームワークです。開発者はAppIntentプロトコルを実装する構造体を作成し、property wrappersを使用してパラメータを記述し、perform()メソッドを実装します。システムは自動的にShortcuts、Siri、Spotlightにintentを登録します。古いiOSバージョン(10–15)をサポートするには、INIntentとIntentHandlerを使用したIntentsフレームワークが使用されます。

swift
import Intents

class IntentHandler: INExtension {
    override func handler(for intent: INIntent) -> AnyObject? {
        if intent is OrderCoffeeIntent {
            return OrderCoffeeIntentHandler()
        }
        return .none
    }
}

App Intentsのテスト — intentsのデバッグはXcodeを介して行います:アプリスキームを選択し、Argumentsで-intentsを渡すと、シミュレータがテスト用に登録されたintentsのリストを表示します。実際の環境に近い状態でShortcutをテストするには、アプリアーカイブを作成し、TestFlightを介してデバイスにインストールします。アプリからのShortcutsは、初回起動後にギャラリーに表示されます。

高度な機能 App Intentsは、オートコンプリート付きパラメータ(動的オプション)、実行前の確認、Siri用intents(ボイスショートカット)、起動ボタン付きウィジェットの作成をサポートしています。Indexed intents(iOS 17+)は、Siriがコンテキスト(時間、位置情報、アクション履歴)に基づいてユーザーに自動的に提案するintentsです。

よくある質問

Shortcutは通常のアプリとどう違いますか?

Shortcutは、異なるアプリのアクションを連携するシナリオであり、独立したアプリケーションではありません。ユーザーはコードを書くのではなく、既製のActionsブロックからシナリオを組み立てます。ShortcutはトリガーされるとShortcutsアプリを開かずに実行されますが、通常のアプリは画面上のアイコンから起動する必要があります。

Shortcutsはどのようなトリガーをサポートしていますか?

Shortcutsは以下のトリガーをサポートしています:スケジュールされた時間、エリアへの出入り時のジオフェンス、iPhoneへのタッチ時のNFCタグ、アプリ起動、ウィジェットタップ、Siri音声コマンド、充電器接続、スリープモードとフォーカスモード、特定のアプリ通知。設定はAutomationタブで行います。

Shortcutを他のユーザーと共有できますか?

はい、Shortcutは.shortcutファイルにエクスポートされ、AirDrop、iMessageで送信したり、iCloudを介してShortcutsギャラリーに公開したりできます。受信者はシナリオをインポートして使用できます。インターネットからダウンロードする場合、iOSは確認を求め、セキュリティリスクの可能性から信頼できないシナリオの実行について警告します。

Shortcutsはサードパーティアプリとどのように連携しますか?

サードパーティアプリは、iOS 16+ではApp Intentsフレームワーク、古いバージョンではIntentsフレームワークを介してActionsを追加します。開発者はIntents.intentdefinitionでアクションを登録すると、ShortcutsアプリのActionsギャラリーに表示されます。ユーザーは異なるアプリのActionsを組み合わせます — たとえば、SafariからBearノートにリンクを送信します。

Shortcutsを作成するにはプログラミングが必要ですか?

いいえ、Shortcutsはコードなしで視覚的に作成されます。ユーザーはリストからActionsブロックをドラッグ&ドロップし、パラメータを設定し、順次接続します。高度なシナリオでは、Run Script Over SSH、Get Contents of URL、Control Flow If、Repeat、For Eachなどのブロックが利用可能ですが、プログラミング経験は必要ありません。

まとめ

  • Shortcut — Actionsブロックから組み立てられる、iOS、iPadOS、macOS向け自動化シナリオ
  • Shortcutsアプリ — 300以上の組み込みActionsを備えたビジュアルビルダー
  • トリガー — 時間、ジオフェンス、NFC、ウィジェット、フォーカス、充電 — シナリオを自動起動
  • Siri連携 — Shortcutsは画面に触れずに音声コマンドで起動
  • App Intents — iOS 16+向けフレームワーク、ShortcutsにサードパーティアプリのActionsを追加
  • マジック変数 — 手動設定なしでActions間の自動データ転送
  • iCloud同期 — iCloudを介してすべてのAppleデバイスでシナリオを利用可能

ターンキー方式のモバイルアプリケーションを開発します

IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。

プロジェクトについて相談

こちらもお読みください