
今更こんな話…ですが、意外と使い方を誤解されている人がいるようです.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS26.3.1
スポンサーリンク
誤解される使い方

「メニューから選択」アクションはAppleがデフォルトで用意しているアクションのひとつであり、初心者から上級者まで当たり前に使っていると思います.
「1件」「2件」の2項目が追加された状態で追加されます.

先頭にある枠に好きな文字列を入れて指示フォームを表示します.

「メニューから選択」アクションはマジックとして選択結果を出力して扱うマジック変数に対応しています.
よくあるプログラミングでは該当箇所の処理結果を別の場所で使う場合なんらかの変数に置いてそれを使いますが、ショートカットアプリの場合は出力が可能なすべてのアクションについて、その出力をマジック変数として定義不要で使うことができます.
「メニューから選択」に「メニューの結果」というデフォルト名でマジック変数が存在します、ということはこのアクションが処理されたことによってなんらかの出力が(空かもしれませんが)あるということです.
ここで「メニューの結果」が一体どこを指しているのか…が、一部に誤解を生んでいる一因のようです.
とはいえこれは検証することでただちに分かります、上画像のように「メニューから選択」の直下に例えば「コンテンツを表示」アクションを追加して、その中にマジック変数の「メニューの結果」を入れてみます.
前後に改行を入れているのは結果がどう存在するかを少しでも明確にするためです.
より心配性なら、前後の行に適当な文字を入れると間違いないです(デバッグでも重宝するやり方です).

くだんのレシピを実行してみると画像のようになります.
見づらいですが空の2行だけ出力されていますね.
(今回は)「メニューの結果」に上下1行ずつ空行を入れたため、これが意味するところは、この状態では「メニューの結果」は空(null)ということです.
指示を出す項目は(デフォルトのままとはいえ)書かれているわけですから空であるはずがありません、つまり「メニューの結果」は選択肢となる指示項目ではないとわかります.
一方で、ショートカットアプリを使ったことがあるならメニューからアプリを選択して実行するレシピを作ったことがあるでしょう.
その場合指示項目を書いたり追加した下にある各項目の下にアプリを開くアクションなどを入れたでしょう.
つまりこちらが「メニューの結果」に反映される場所ということです.

簡単に図解すると上のようになります.
指示項目と言えるラベルはあくまでも分岐ラベルとして使うもので、実際に何をするかは各々の項目下にアクションを組むわけです.
そうした処理の結果が「メニューから選択」のマジック変数である「メニューの結果」に代入されます.

実際に確かめてみます.
各指示に応じて分岐ラベルと異なる文字を「テキスト」アクションを使ってそれぞれに入れ、「コンテンツを表示」でどうなるか見てみます.

実行してみると、指示となる分岐ラベルの方でなく、指示ごとに入れた処理の結果の方が採用されていることがわかります.
「リストから選択」
類似のアクションとして「リストから選択」アクションがあります.

名前の通り、リストを入力としてそこからユーザに選択、その結果を出力します.
リスト(配列)であればテキストでなくとも問題ないのが特徴です.
「メニューから選択」に似ていますが厳密にはこれでは「選ぶ」までなので同じではありません.

仮に「リストから選択」を「メニューから選択」と同じように使いたい場合は、例えばこの画像のように「リストから選択」の結果に対してif文を使って分岐処理させる流れを組み合わせる必要があります.
内容次第では「各項目を繰り返す」であったり、そもそも分岐処理が不要なケースもあるでしょう.
「メニューから選択」と「リストから選択」の違い

この2つは似ているようで違う点もまた多いです.
各々の説明では、前者については出力に関して触れていませんが、後者は
- 入力として渡された項目
- ユーザが選択した項目を出力
と、入出力が明記されています.
前者の説明が曖昧なのは、目的が分岐処理そのものであって入出力ではないからかもしれませんね.
| 項目 | メニューから選択 | リストから選択 |
|---|---|---|
| 役割 | 処理を分岐する | 値を選ぶ |
| 入力 | なし(自分で項目を作る) | 外部から渡されたリスト |
| 出力 | 分岐内の結果 | 選択した項目そのもの |
| 分岐 | できる | できない |
| データとして扱えるか | そのままでは不可 | 可能 |
| 向いている用途 | 処理の切り替え(メニューUI) | 値の選択・入力 |
おおよその違いを整理すると上のようになります.
〆
「辞書」やVcardを使った手法はデータ手動なので後者ですが、表示用となるラベルを一緒に扱える、難易度は上がるものの柔軟性のあるレシピを組む助けになります.
やりようによっては「メニューから選択」で指示そのものを出力できますし、何なら選択肢次第で「空を出力できる」と解釈できます.

