Siriショートカットで出来ること出来ないこと

# Siriショートカットで出来ること出来ないこと

## TL;DR

* Siriショートカットで色々やってみたかったけど、項目を眺めてるだけだと内容がわかりにくく、公式ドキュメントも一覧性がない。仕方がないので、全部触ってみてわかりにくいものに註釈をつけて、自分が後で閲覧するようのリストを作った。
* ついでに全体を触ってみた上での所見、困ったところ、便利なところを簡単に。

## 所見

* 使い所
    * アクションの中に「SSH経由でスクリプトを実行」と「Webリクエスト」というものがあり、指定したサーバー上で実行したりLambdaに投げたりしてしまえば処理の上で出来ないことは事実上無い。従って考えるべきは「何が可能か」ではなく「あえてモバイル端末上で実行して意味があることはなにか」であるこれは概ね以下の4つの観点に集約されそう。
        * モバイル端末を携帯している「わたし」自身のリアルタイムな情報を利用する場合
            * 典型的には「位置情報」「接続中のアクセスポイント」「歩数」など、端末が収集してくれている自分の情報
        * 外部サーバーなどからのアクセス手段が乏しいアプリを利用する場合
            * LINEなどはAPI利用する場合はビジネスユースになってしまうが、ショートカット経由であれば無料で実行できる
        * モバイル端末に飛んでくる通知に即反応したい場合
            * いちいちPCなんぞ開いてられっか！！ みたいなタイミングでの面倒な、しかも複数のアクションを半自動化することが出来る
        * SSH？ AWS？？？？ GCP？？？？？ な人でもかなり広範囲にいろいろな作業をアクションにまとめて実施することが出来る
* 困ったところ
    * オートメーションがまだ貧弱かつ不安定
        * 上記使い所からするとメインで使いたい用途は「自分の状況によっていろいろなアクションを自動で行ってもらうこと」になるのだが、以下のような点で困った
            * 位置情報に紐づくオートメーションは、完全にバックグラウンドに出来ない。おそらくセキュリティ上の懸念からかと思われる
            * Wi-Fi接続によるオートメーションが発火しない。端末の電源を落として再起動したときに一度だけ発火したが、それ以外では一度も動作してくれなかった
            * アプリ内の情報の変化をトリガーにするオートメーションはできない
    * ローカライズが中途半端
        * 同じ意味なのに統一された訳語があてられていないところが多々あり、混乱する。例えば「フィルタを適用」という言葉は頻出だが、これはSiriショートカットでは検索を意味する。だが他のアクションでは「検索」と呼ばれている場面も多々存在している、など。
        * システム上の機能を表す単語を取り扱う場合は、表示されている日本語ではなく英語表記で指定しなければ動作しない。
    * 全体的に動作が不安定
        * 新しい機能なので仕方ない部分はあると思うが、驚くほど簡単に落ちたり期待される動作がなかったりということが多い。

## 現在のアクション一覧

* というわけでここから先は、全項目触ってみて「分かりにくかったところ」「そんなところも選択できるのかー」など思ったことをメモって自分用に使いやすいようにしたリストである。すべてを読み通す必要はまったくない。
* 項目数がたくさんあったので説明の表記の仕方に結構揺れがあるがそれは許して欲しい。
* インストールしているアプリがAppleの仕様どおりに実装しているなら、アプリ由来のアクションも利用できるがそこまで書き始めると永久にこの記事が終わらないので、デフォルトアプリの動作であっても割愛している。
* 以下の検証はすべて、iPhone11、iOS13.3にて行われた。

## コンポーネント一覧

* 注意事項
    * 原則入力を受け取るアクションは以下の形式で値を随時受け取れる。特に表記がない限り原則この2項目は選択可能。値を受け取れないときには注記する
        * マジック変数を選択
            * そこまでのアクションの結果を選択して受け取る
            システムがもともと用意している選択肢など、予約語を入力する必要があるときには、言語設定が日本語でも英語の項目名で設定する必要がある。正しい英語名を調べるのは結構面倒なので、言語設定の切替で正式名称を調べた。以下同様
        * 毎回尋ねる
            * 実行時にダイアログで選択する

### アクション

* スクリプティング
    * App
        * Appを開く
            * マジで開くだけ
    * X-Callback
        * URLエンコード
            * エンコード
            * デコード
        * XコールバックのURLを開く
    * シェル
        * SSH経由でスクリプトを実行
            * 実行環境がリモートにあれば何でも出来る
            * 秘密鍵/公開鍵
                * iPhone上で生成できる！
                * ショートカットとして1対だけ持てる
            * 入力待ちが発生する行動を取ると結果が帰ってこなくなるし、プロセスがサーバー側に居残り続ける
    * ショートカット
        * ショートカットを実行
            * 既に保存しているショートカットを選択して実行する
            * 外部との連携を考えると、外部への接続用コンポーネントを作っておいて、コレを使って使い回すとやりやすい
        * マイショートカットを取得
            * いまあるショートカット一覧を取得
            * 「リスト」に渡して実行するとかくらいか……？
    * デバイス
        * おやすみモードを設定
            * オフにする時はオフにするだけ
            * オンにする時は以下のタイミングを選べる
                * オフ時
                * 時間
                * 出発時
                    * 実行時の現在地を出発した時
                * イベント終了時
                    * 外部から入力した何らかのタイミング
                        * カレンダーから取得するとかそういうの
                * 毎回尋ねる
                    * 上記4つから実行時に選ぶ
        * デバイスの詳細を取得
            * デバイス名
            * 機器の機種
            * システムのバージョン
            * 画面の幅
            * 画面の高さ
            * 現在の音量
            * 現在の明るさ
        * バッテリー残量を取得
        * フラッシュライトを設定
            * オン
            * オフ
            * 切り替える
        * 音量を設定
            * スライダーで設定
            * ※入力を受け付けない
        * 外観モードを設定
            * ダーク
            * ライト
            * 毎回尋ねる
        * 再生出力先を設定
            * 現在選択できるデバイス
        * 低電力モードを設定
            * オン
            * オフ
            * ※入力を受け付けない
        * 明るさを設定
            * スライダーで設定
            * ※入力を受け付けない
    * ネットワーク
        * Bluetoothを設定
            * オン
            * オフ
            * ※入力を受け付けない
        * Wi-Fiを設定
            * オン
            * オフ
            * ※入力を受け付けない
        * ネットワークの詳細を取得
            * 対象
                * Wi-Fi
                * モバイルデータ通信
                * マジック変数を選択
                * 毎回尋ねる
            * 項目
                * ネットワーク名
                * BBSSID
        * モバイルデータ通信を設定
            * オン
            * オフ
                * ※入力を受け付けない
        * 機内モードを設定
            * オン
            * オフ
            * ※入力を受け付けない
        * 現在のIPアドレスを取得
            * アドレス
                * 外部
                * ローカル
            * 種類
                * IPv4
                * IPv6
    * ファイル
        * Base64エンコード
            * エンコード
            * デコード
        * ハッシュを生成
            * MD5
            * SHA1
            * SHA256
            * SHA512
    * リスト
        * リスト
            * リストを生成する。固定値でも入力から受け取っても良い。
        * リストから項目を取得
            * 最初の項目
            * 最後の項目
            * ランダム項目
            * 項目のインデックス
                * インデックスを指定してその内容を取得する
            * Rangeの項目
                * 開始位置と終了位置のインデックスを指定して、そこに含まれる項目数を返す。インデックスを固定で指定すると意味がない。
        * リストから選択
            * 受け取ったリストをダイアログで表示し、どれかを選択させる
            * オプション
                * プロンプト
                    * 質問の文言を設定できる
                * 複数を選択
                    * ONにすると複数選択できるようになり、次のアクションにリストを渡す
    * 計算
        * 計算
            * 計算できる対象
                * 日付
                    * タイムスタンプとして処理される
                * 間隔
                * ブール値
                    * true/false表記もOK
                * テキスト
                    * 数値として解釈できるものでないとエラー
                * 数字
                * ヘルプに出てるけど事実上ただの数字でしょリスト
                    * 貨幣額
                    * ヘルスケアサンプル
                    * ワークアウトサンプル
                    * ファイルサイズ
                    * 血圧
                    * 測定単位
            * 演算
                * 四則演算以外にもかなり色々出来る
                    * 係数
                    * 累乗
                        * ふつうのやつ
                        * ネイピア数
                        * 10
                    * 対数
                        * 底が10
                        * 底がネイピア数
                    * 平方/立法根
                    * 階乗
                    * sin / cos / tan
                    * 絶対値
        * 端数を処理
            * 10以上も小数点以下も処理できる
            * モード
                * 標準
                    * ※四捨五入のこと
                * 常に切り上げ
                * 常に切り下げ
                * ※切り上げ/下げを選んでも、表示が「四捨五入」のままなので、名前付けとかで明示したりしておくべきだと思う
        * 統計を計算
            * 平均
            * 最小値
            * 最大値
            * 合計
            * 中央
            * モード
            * 範囲
            * 標準偏差
    * 項目
        * カウント
            * 項目
            * 文字
            * ワード
                * 日本語の文法を意識してくれているように見える
            * 文
                * 句点・開業区切り
            * 行
        * コンテンツグラフを表示
            * 受け取った項目が変換可能なコンテンツの種類を確認できる
            * 例: テキスト
                * ブール値
                * PDF
                    * イメージ
                        * リッチテキスト
        * 種類を取得
            * 入力項目のファイルの種類を取得
        * 名前を取得
            * 名前がない場合はコンテンツの中身そのものが返ってくる
        * 名前を設定
            * 拡張子を含める/含めないを選べる
    * 辞書
        * いわゆるハッシュを取り扱う項目群。内蔵の辞書機能を使うものではない
        * 辞書
            * key/valueの組を生成する。ネストも出来る
                * テキスト
                * 数字
                * 配列
                * 辞書
                * ブール値
        * 辞書の値を取得
            * 辞書に対してキーを指定して取得
        * 辞書の値を設定
            * 辞書に対してキーを指定して設定
        * 入力から辞書を取得
            * 文字列を辞書として解釈する
                * json
                * foo=bar&baz=biz 式のkey/valueペア
                * XMLベースのplist
    * 数字
        * ファイルサイズをフォーマット
            * ファイルサイズを指定単位に変換して文字列出力する
            * 最も近い単位
            * バイト〜ヨタバイト
        * 数字
        * 数値をフォーマット
            * 小数点以下の表示桁数を指定する
        * 入力から数字を取得
            * 数値として解釈する
                * 複数の数値が含まれるテキストだと戦闘のものが使われる
                * 数値として解釈できない場合ブール値のfalse（日本語環境だと「いいえ」と表示される）が返ってくる
                * trueという文字列を渡すとブール値のtrue（日本語環境だと「はい」と表示される）
        * 乱数
            * 最大値と最小値を指定して、その範囲内でランダムな数値を得る
            * 負の値は指定できない
            * 小数を指定できるが、結果は整数で返ってくる
    * 制御フロー
        * "ショートカット"Appで続行
            * ホーム画面や共有シートから実行した場合でも、ショートカットアプリに強制で移動させる
        * "ショートカット"を終了
            * ショートカットを指定位置で終了する
            * ショートカット作成中のプレビュー起動でも、そこで停止するだけでなく容赦なく終了する
            * 何かを入力できるが、何に使っているかはいまいちわからない……
        * if文
            * 以下の比較演算で処理を分岐できる
                * 次と等しい
                * 次と等しくない
                * 任意の値
                * 値がない
                * 次を含む
                * 次を含まない
                * 次で始まる
                * 次で終わる
            * デフォルトがif~elseだがifのみも可能
        * メニューから選択
            * ダイアログを表示して、その時の入力によって分岐する
        * 各項目を繰り返す
            * リストを渡して、そのリストを繰り返し実行する
            * リスト渡しが基本的な前提だが、リスト以外を渡すことも出来る
        * 繰り返す
            * 直前のアクションを指定回数繰り返す
            * 固定値しか指定できない
        * 待機
            * 指定秒数sleep
            * 固定値しか指定できない
        * 戻るまで待機
            * ショートカットの動作で別アプリに移動した後再度戻ってくるまで待つ
            * ショートカットの動作でアプリに移動しない場合、手動で別アプリに移動して戻ってくるまでの待機になる
    * 操作なし
        * コメント
        * 何もしない
    * 測定
        * 測定単位
            * 単位付きの数値を取得する
                * エネルギー
                * 体積
                * 分散度
                * 加速度
                * 周波数
                * 圧力
                * 情報ストレージ
                * 温度
                * 照度
                * 燃焼効率
                * 継続時間
                * 角度
                * 質量
                * 質量濃度
                * 速度
                * 長さ
                * 電位差
                * 電力
                * 電気抵抗
                * 電流
                * 電荷
                * 面積
                * 単位
        * 測定単位を変換
            * 変換可能な組み合わせじゃない場合はエラーになる
    * 通知
        * アラートを表示
            * 指定文字列のアラートを表示する
            * キャンセルボタンを表示して、実行時にキャンセルするとショートカットの動作をそこで停止する
        * サウンドを再生
            * UI上再生する音を選択できるようになっているが、システム音を指定してもメディアファイルを渡しても特に反映されない
        * デバイスを振動させる
            * 1回だけ
        * 結果を表示
            * 指定の値をダイアログで表示する
        * 通知を表示
            * バナースタイルで通知を表示する
            * リンクの設定は出来ない
        * 入力を要求
            * 入力をその場で受け付ける
                * テキスト
                * 数字
                * URL
                * 日付
                * 時間
                * 日付と時刻
    * 変数
        * 変数に追加
            * 指定の変数に内容を追記する
            * この挙動がなければマジック変数ですべて事足りる
        * 変数を設定
* メディア
    * App Store
        * App Storeで検索
            * フリーワードでAppStoreを検索する
            * オプション
                * 検索基準
                    * すべて
                    * 製品ID
                    * デベロッパ
                * 検索結果
                    * iPhone
                    * iPad
                    * Mac
                * 地域
                * 項目数
                    * 数値で指定か毎回尋ねる
        * App Store Appの詳細を取得
            * 取得したアプリケーションの詳細情報から一つ取得
            * 項目
                * アーティスト
                * 価格
                * 通貨コード
                * フォーマット済みの価格
                    * ローカライズされているということ
                * リリース日
                * カテゴリ
                * 説明
                * 評価
                * 評価数
                * 評価（このバージョン）
                * 評価数（このバージョン）
                * バージョン
                * 前回のアップデート
                * リリースノート
                * コンテンツの評価
                * OSの最小バージョン
                * ユニバーサルである
                * Game Centerに対応
                * 対応デバイス
                * 対応言語
                * スクリーンショットのURL
                * iPadスクリーンショットのURL
                * ダウンロードサイズ
                * ストアID
                * ストアURL
                * アートワーク
                * アートワークのURL
                * 名前
    * GIF
        * GIFからビデオを作成
            * GIF動画を動画形式に変換する
        * GIFにフレームを追加
            * すでにあるGIF動画に画像を差し込む
            * タイミングは時間で指定する
        * GIFを作成
            * GIF動画のことを言っており、ここに複数の画像を渡すとそのままGIF動画にしてくれる
        * イメージからフレームを取得
            * GIF動画をここの画像にバラす
    * iTunes Store
        * iTunes Storeで表示
        * iTunes Storeを検索
            * カテゴリ
                * ムービー
                * ミュージック
                * ミュージックビデオ
                * オーディオブック
                * ショートフィルム
                * テレビ番組
                * ブック
                * すべて
            * 検索基準
                * すべて
                * 製品ID
                * アーティスト
                * 作曲者
                * アルバム
                * レート
                * 曲
            * 検索結果
                * 曲
                * アーティスト
                * アルバム
                * ミュージックビデオ
            * 地域
            * 項目数
                * 数値で指定か毎回尋ねる
        * iTunesアーティストの詳細を取得
            * 以下のいずれかの情報を抜く
                * ジャンル
                * 種類
                * ストアID
                * ストアURL
                * アートワーク
                * アートワークのURL
                * 名前
        * iTunes製品の詳細を取得
            * 以下のいずれかの情報を抜く
                * アーティスト
                * 価格
                * 通貨コード
                * フォーマット済みの価格
                    * ローカライズされているということ
                * リリース日
                * ジャンル
                * 再生時間
                * ストリーミング可能
                * 不適切な内容を含む
                * 説明
                * ストアID
                * ストアURL
                * アートワーク
                * アートワークのURL
                * 名前
    * Podcast
        * Podcastを扱うもの
            * Podcastのサブスクリプションに登録
            * Podcastの詳細を取得
            * Podcastを検索
                * 文字列
                * 検索基準
                    * すべて
                    * 製品ID
                    * タイトル
                    * 言語
                    * 作者
                    * レート
                    * キーワード
                    * 説明
                * 検索結果
                    * Podcast
                    * 作者
                * 国
                * 項目数
                    * 数値指定か毎回尋ねる
            * Podcastを再生
            * ライブラリからPodcastを取得
        * エピソードを扱うもの
            * Podcastエピソードの詳細を取得
            * Podcastのエピソードを取得
    * イメージ
        * イメージにフィルタを適用
            * 渡された画像リストを絞り込む
                * 幅
                * 高さ
                * 取得日
                * 所要時間
                * メディアタイプ
                * 写真の種類
                * スクリーンショット / ではない
                * 継続時間
                * フレームレート
                * 方向
                * 非表示 / ではない
                * よく使う項目 / ではない
                * ファイルサイズ
                * ファイル拡張子
                * 作成日
                * 最終変更日
                * 名前
            * 「モノクロフィルターをかける」みたいな機能ではない
        * イメージの詳細を取得
            * 以下のいずれかの情報を抜く
                * アルバム
                * 幅
                * 高さ
                * 取得日
                * メディアタイプ
                * 写真の種類
                * スクリーンショット
                * 場所
                * 再生時間
                * フレームレート
                * 向き
                * カメラメーカー
                * カメラ機種
                * 非表示
                * よく使う項目
                * ファイルサイズ
                * ファイル拡張子
                * 作成日
                * 最終変更日
                * 名前
        * イメージを変換
            * 以下のフォーマットに変換する
                * JPEG
                * PNG
                * TIFF
                * GIF
                * JPEG-2000
                * BMP
                * PDF
                * HEIF
                * 入力と一致
            * メタデータを保持
                * ブールで指定
        * 入力からイメージを取得
    * イメージ編集
        * イメージのサイズを変更
            * 縦x横で指定
            * 片方を省略すると、比率を保って拡大縮小する
        * イメージをトリミング
            * 位置とサイズを指定して切り抜く
        * イメージをマスク
            * 指定した形状で切り抜いたりアルファマスクを当てたり出来る
            * ……なのだがうまく動かないようにみえる
        * イメージを回転
            * 数値で入力
        * イメージを結合
            * 画像をリストで渡すと指定した方式で結合する
                * 横方向
                * 縦方向
                * グリッド
        * イメージを重ねて表示
            * 「イメージエディタを表示」をONにすると、ステップに来た時点で重ね方を調整できる
                * 位置
                * 透明度
                * 回転
        * イメージを反転
            * 横方向か縦方向に反転
        * マークアップ
            * 画像の編集を行うときのように画像に直接書き込みができる
    * オーディオ
        * オーディオを録音
            * オーディオの品質
                * 標準
                * 非常に高い
            * 録音を開始
                * タップ時
                * すぐに
            * 録音を終了
                * タップ時
                * 時間経過後
                    * 分
                    * 秒
    * カメラ
        * ビデオを撮る
            * カメラ
                * 背面
                * 全面
            * 画質
                * 低
                * 中
                * 高
            * 録音を開始
                * タップ時
                * すぐに
        * 写真を撮る
            * カメラ
                * 背面
                * 全面
            * カメラプレビューを表示
                * ONにするとマニュアル撮影になり、撮影枚数を選べる
    * ビデオ
        * メディアをエンコード
            * オーディオのみ
                * ONならフォーマットを選べる
                    * M4A
                    * AIFF
                * OFFならサイズを選べる
                    * 指定サイズ
                    * パススルー
            * 速度
                * 0.5倍速
                * 標準
                * 2倍速
                * カスタム
            * メタデータ
                * タイトル
                * アーティスト
                * アルバム
                * ジャンル
                * 年
                * アートワーク
                    * 変数から受け取る
        * メディアをトリミング
            * 切り取り用の編集画面が表示される
    * プレイリスト
        * プレイリストに追加
        * プレイリストを作成
        * プレイリストを取得
    * ミュージック
        * ミュージックの詳細を取得
        * ミュージックを検索
        * ミュージックを再生
        * ミュージックを選択
            * 端末に入っているミュージックを選ぶ
        * 現在の曲を取得
    * 再生
        * 音量を設定
            * 数値で指定。入力からは受け取れない
        * 逆方向にスキップ
            * 前の曲
            * 先頭
        * 再生/一時停止
            * 再生 / 一時停止の指定
            * 切り替える
        * 再生を伝達
            * 入力元と先のデバイスを指定
        * 再生出力先を設定
            * 出力先のデバイスを指定
        * 順方向にスキップ
            * 指定デバイスで早送り
    * 次はこちら
        * "次はこちら"に追加
            * 再生キューに追加する
            * 追加先
                * 次
                * 後で
        * "次はこちら"を消去
    * 写真
        * 最後の読み込みを取得
        * 最新のLive Photosを取得
        * 最新のスクリーンショットを取得
        * 最新のバーストを取得
        * 最新のビデオを取得
        * 最新の写真を取得
            * スクリーンショットを含むかどうかを選べる
        * 写真アルバムに保存
        * 写真を検索
        * 写真を削除
        * 写真を選択
            * リストから選択する
            * 複数選択可
* 場所
    * 場所
        * 現在地を取得
        * 場所
        * 場所にフィルタを適用
        * 場所の詳細を取得
    * マップ
        * "マップ"で表示
            * Googleマップも選べる
        * マップのURLを取得
        * 経路を表示
            * Googleマップも選べる
    * 経路
        * 移動時間を取得
        * 距離を取得
        * 近くの店舗や企業を検索
        * 中間点を取得
    * 住所
        * 住所
        * 入力から住所を取得
    * 天気
        * 気象状況の詳細を取得
        * 現在の天気を取得
        * 天気予報を取得
* 書類
    * QRコード
        * QR/バーコードをスキャン
            * カメラを起動して内容を取得する
        * QRコードを生成
            * 入力内容から生成する
            * エラー訂正レベルを4段階で指定できる
    * アーカイブ
        * アーカイブを作成
            * 指定できる形式
                * zip
                * tar.gz
                * tar.bz2
                * tar.xz
                * tar
                * gz
                * cpio
                * iso
            * オプション
                * アーカイブ名
        * アーカイブを展開
    * テキスト
        * テキスト
            * 文字列を保持する
            * 入力を受け取ったりはしない
        * テキストを音声入力
            * 言語
            * 聞き取りを停止するタイミング
                * 停止後
                    * それっぽいところで自動で止まる
                * 一時停止後
                    * それっぽいところで自動で止まる
                * タップ時
                    * 明示的に止めるまではずっと起動
        * テキストを読み上げる
            * 完了まで待機
                * 待機しない場合、再生をスタートしたらすぐに次のステップへ移る
            * 速度
                * 値を受け取れない
            * ピッチ
                * 値を受け取れない
            * 言語
            * 音声
                * 内蔵されているものから声を選べる
        * 絵文字の名前を取得
            * 渡した文字列に含まれている絵文字を抜き出して、その説明文言を取得する
                * 😇とかだと、「天使の輪がかかっている笑顔」と環境の言語に訳されて表示される
            * 複数渡すとリストになる
            * 改行を含んだ文章を渡すと落ちる
        * 定義を表示
            * 渡したテキストで辞書を検索して候補を表示する
            * 結果を次に渡したりとかはしない
        * 入力からテキストを取得
            * マークアップとかそういうのはなんとなく取り除いた上でテキストを返してくれる
            * 画像とかを渡すとファイル名など適宜それらしい感じになる
    * テキスト編集
        * スペルを修正
            * 入力中に自動でチェックしてくれるレベルのものを渡すも、あまりうまく利いているように見えない
        * テキストを結合
            * 指定の区切り文字でリストを1つのテキストにつなげる
            * 区切り文字
                * 改行
                * 空白
                * カスタム
                    * 自分で文字を指定する
        * テキストを置き換え
            * 指定文字を置き換える
                * 単純一致
                * 大文字小文字の区別をする/しない
                * 正規表現による置き換え
        * テキストを分割
            * 区切り
                * 改行
                * 空白
                * 1文字ごと
                * かすたむ
                    * 自分で文字を指定する
        * 一致するテキスト
            * テキストを検索する
            * 単純な文字列検索も正規表現検索もできる
        * 一致したテキストからグループを取得
            * 検索結果を受け取って選り分けるアクション
            * 正規表現で複数のパターンにマッチさせている場合、どのパターンなのかを選べる
                * 例: ([0-9]+月)([0-9]+日) みたいなパターンのときに、月の部分はインデックス1、日の部分はインデックス2として取得できる
        * 大文字/小文字を変更
            * すべて大文字/小文字にする
            * 各単語を大文字にする
            * タイトルケースを使って大文字にする
                * 前置詞・冠詞のタグ位以外の先頭文字を大文字にする
            * 文の先頭文字を大文字にする
            * 交互に大文字と小文字にする（例: cAsE）
    * ファイル
        * ファイルにフィルタを適用
            * 条件で検索する
                * 条件
                    * ファイルサイズ
                    * ファイル拡張子
                    * 作成日
                    * 最終変更日
                    * 名前
                * 並び順所
                    * ファイルサイズ
                    * ファイル拡張子
                    * 作成日
                    * 最終変更日
                    * 名前
                    * ランダム
                    * ※実行時の選択はできない
        * ファイルの詳細を取得
            * 各項目のメタ情報を取得する
            * 項目
                * ファイルサイズ
                * ファイル拡張子
                * 作成日
                * 最終変更日
                * 名前
        * 次の方法で開く
            * アプリが提示され、選択するとそのアプリで開く
    * ファイルストレージ
        * ファイルに追加
            * サービスの選択
                * iCloudやDropboxなど
            * pathの指定
            * 末尾に改行を付加するか指定
        * ファイルへのリンクを取得
        * ファイルを削除
            * サービスの選択
                * iCloudやDropboxなど
            * 削除前の確認の有無を指定できる
        * ファイルを取得
            * サービスの選択
                * iCloudやDropboxなど
            * 書類ピッカーで指定するかパスを指定する
            * 見つからないときにエラーにするかどうかを選べる
        * ファイルを保存
            * サービスの選択
                * iCloudやDropboxなど
            * 保存の仕方
                * 保存先を尋ねる
                * パスを指定
                    * ファイルが存在するときに上書きするかどうかを選べる
        * フォルダを作成
            * サービスとパスを指定してフォルダを作る
    * ブック
        * PDFを"ブック"に追加
    * プリント
        * PDFを作成
            * 余白を含めるか選べる
            * 含める
                * すべてのページ
                * 1ページ
                * ページ範囲
        * プリント
            * iOSの印刷機能にわたす
    * プレビュー
        * クイックルック
    * メモ
        * メモに追加
        * メモを検索
            * 本文
            * フォルダ
            * 作成日
            * 最終変更日
            * 名前
        * メモを作成
            * 作成シートを表示
                * 入力値から即座に作るか、作成シートを開いて編集させるかを選べう
        * メモを表示
    * リッチテキスト
        * HTMLからリッチテキストを作成
        * マークダウンからリッチテキストを作成
        * リッチテキストからHTMLを作成
        * リッチテキストからマークダウンを作成
    * 編集中
        * マークアップ
            * 渡されたファイルに手書きでの註釈を入れることが出来る
* 共有
    * クリップボード
        * クリップボードにコピー
            * ローカル限定にしてHandoffへの共有を禁止できる
            * 指定時刻にクリップボードから削除できる
        * クリップボードを取得
    * システム
        * AirDrop
            * 指定の内容をAirDropにわたす
        * 機能拡張で共有
            * 指定の内容を共有シートに渡す
            * 提示されるメニューはメニューは「共有」とは違う
        * 共有
            * 指定の内容を共有シートに渡す
            * 提示されるメニューはメニューは「機能拡張」とは違う
    * メッセージ送信
        * メールを送信
            * 宛先・件名・内容を指定してメール送信
            * オプション
                * メール編集画面を表示する
                    * 送信元
                    * Cc
                    * Bcc
                * メール編集画面を表示しない
                    * 表示する場合に加え、「下書きとして保存」を選べるようになる
        * メッセージを送信
            * 内容を指定してメッセージを送信
            * 実行時に表示を切り替えられる
    * メモ
        * メモを作成
            * 新規メモ作成画面を開く
            * 値を受け取ったりは出来ない
    * 写真
        * 共有アルバムに投稿
            * 共有アルバムに投稿するダイアログを開く
    * Appから
        * CloudApp
            * CloudAppにアップロード
        * Facebook
            * Facebookに投稿
        * Instagram
            * Instagramに投稿
        * Tumblr
            * Tumblrに投稿
        * Tweetbot
            * Tweetbotでプロフィールを表示
            * Tweetbotを開く
            * ツイート
            * 検索テキスト
        * Twitter
            * ツイート
        * WhatsApp
            * WhatsApp経由でメッセージを送信
            * WhatsApp経由で写真を送信
        * WordPress
            * WordPressに投稿
* Web
    * RSS
        * RSS配信から項目を取得
            * URLと件数を指定して取得する
        * ページからRSS配信を取得
            * ウェブページからRSSを取得する
    * Safari
        * Safari Webページの詳細を取得
            * ページの内容
            * ページ選択
                * ページ内で選択されている要素を取得する
            * ページのURL
            * 名前
        * URLを開く
            * Safariを起動する
        * WebページでJavaScriptを実行
        * Webページを表示
            * 内部ブラウザで表示する
        * Webを検索
            * Amazon
            * Bing
            * DuckDuckGo
            * eBay
            * Google
            * Reddit
            * Twitter
            * Yahoo!
            * YouTube
        * リーディングリストに追加
    * URL
        * URL
            * 入力ををURL形式として扱う
        * URLのコンポーネントを取得
            * スキーム
            * ユーザ
            * パスワード
            * ホスト
            * ポート
            * パス
            * クエリー
            * フラグメント
        * URLを展開
            * 短縮URLを展開し、不要なパラメータを削除する
        * 入力からURLを取得
            * 入力値からURLと判断できるものを抜き出す
    * Webリクエスト
        * URLのヘッダを取得
            * HEADリクエストを行う
        * URLの内容を取得
            * メソッドとヘッダを指定して、URLにアクセスする
        * Webページの内容を取得
            * URLを指定してウェブページ形式で内容を取得する
    * 記事
        * Safariの"リーダー"を使って記事を取得
        * 記事にフィルタを適用
        * 記事の詳細を取得
    * Appから
        * Associate
            * AssociateでURLを変換
            * Associateで検索
        * Chrome
            * ChromeでURLを開く
        * Instapaper
            * Instapaperに追加
            * Instapaperブックマークを取得
        * Opener
            * OpenerでURLを開く
        * Overcast
            * Overcastに追加
        * Pinboard
            * Pinboardに追加
            * Pinboardブックマークを取得
        * Pocket
            * Pocketから項目を取得
            * Pocketに追加

### オートメーション

* イベント
    * 時刻
        * 指定時刻
        * 曜日
        * 日の出/日の入り
    * アラーム
        * アクション
            * スヌーズされた
            * 停止された
        * アラーム
            * 任意
            * 起床時刻
            * 既存
* 旅行
    * 到着
        * 場所の指定
        * 時間範囲の指定
        * Wi-Fiほどではないがたまに発火してくれない時がある
    * 出発
        * 場所の指定
        * Wi-Fiほどではないがたまに発火してくれない時がある
    * 通勤/通学する前
        * 「そろそろ出勤/帰宅しそう」なタイミングを予測して起動する
        * 出勤時/帰宅時
        * 予測時刻に/5分前~1時間前
    * CarPlay
        * 接続
        * 接続解除
        * 接続又は接続解除
* 設定
    * 機内モード
        * オン時
        * オフ時
        * オンまたはオフ時
    * Wi-Fi
        * 指定のネットワークに接続した時
        * ……ということなのだが、あんまりうまく発火してくれない。
    * Bluetooth
        * 指定のデバイスに接続した時
    * おやすみモード
        * オン時
        * オフ時
        * オンまたはオフ時
    * 低電力モード
        * オン時
        * オフ時
        * オンまたはオフ時
    * NFC
        * 指定のNFCタグをタップした時
    * Appを開く
        * 指定Appを開いた時

## 終わりに

* ここを読んでくれている人は果たしているのだろうか？
* 全体を触ってみた感触としてまだまだ未完成な部分が多いなと感じた反面、この未完成さがこの機能がまだまだこれから発展していくものだと思わせてくれた。
* 特に「モバイルで内容を見る」→「PCでまとめの作業をする」のようなやり方でこなしていたタスクは、かなりスマホに集約できそう。

* ぜんぶを使い切ることはおそらくないけど、こういうのを隅から隅まで眺めるのは一種のロマンです。「へぇーーこんなことまで出来るの！」って気付きが結構あったので、調べててとても楽しかったです。
* 読んでくれてありがとうございました。