更新:2021-11-06
作成:2020-08-02

共有ショートカット

本章では、共有ショートカットについて説明します。

概要

ショートカットAppでは、作成したレシピを外部に書き出したり、外部から取り込むことができます。
なお外部から取り込むことができるようにしたレシピのことを、「共有ショートカット」と呼びます。

書き出し

レシピを書き出しには、アクション「マイショートカットを取得」を使ってshortcutファイルとして書き出す方法と、iCloudリンク(旧称 workflowリンク)を使ってウェブで共有する方法の2つがあります。
shortcutファイルとして書き出す場合は、アクション「マイショートカットを取得」を使います。
ただし、これをそのまま使うとマイショートカットの中のすべてのレシピが書き出されます。
特定のレシピだけを書き出したいときは、「ファイルにフィルタを適用」を使用して、必要なレシピを抜き出してください。
なおバージョン3以降では、shortcutファイルとして書き出したレシピを直接取り込むことはできず、iCloud DriveとiCloudリンクを経由する必要があります。
詳しくは、後述します。

iCloudリンクの作り方

iCloudリンクを使ってレシピを共有する場合、次のように操作します。

  1. 共有したいレシピの右上にある…を長押しします。
  2. 「共有 」→「iCloudリンクをコピー 」→「リンクをコピー」を選択します。
  3. 「リンクをコピー」を選択します。
  4. 「✓ リンクがコピーされました」と表示されるとiCloudリンク(https://www.icloud.com/shortcuts/○○○○形式のURL)が発行され、URLがクリップボードにコピーされます。

注意点

取り込み

共有ショートカットの取り込みについて、Appleでは、「友達や個人的なバックアップ、Webサイトなど、ギャラリー以外のソースからショートカットを追加できます。」と説明しています。
しかしバージョン3以降ではセキュリティ対策のため、取り込みはギャラリーと、iCloudリンク(https://www.icloud.com/shortcuts/○○○○形式)、旧 Workflow Sync(https://workflow.is/workflow/○○○○形式)のみになりました。
ショートカットAppのギャラリーから必要なレシピ選択するか、iCloudリンクのURLにアクセスすると、外部のレシピを取り込むことができます。

なお、iCloud Driveにアップロードされているshortcutファイルについては、次の方法で取り込むことができます。

  1. アクション「ファイルを取得」で、icloud Drive上に置いたshortcutファイルを取得する。
  2. ファイルへのリンクを取得」を実行し、iCloudリンクを発行する。
  3. URLを開く」で、そのiCloudリンクのURLにアクセスし、レシピを取り込む。

〈参考〉
 → 共有ショートカットを有効にする - Appleサポート
 → ショートカットを共有する - Appleサポート ※リンク先はバージョン2.2のときの説明です

shortcutファイルの中身を見る方法

shortcutファイルの正体は、バイナリ形式のplist(Binary property list)ファイルです。
バイナリ形式のplistは、macOS, iOSでテキストデータを記録するためのフォーマットとして広く使われています。
またplistには、XML形式・JSON形式の物も存在します。
つまりバイナリ形式のshortcutをXML形式のplist(XML property list)や形式のJSON形式のplist(JSON property list)に変換してあげれば、人間でも読めるものになります。

macOSの標準コマンドplutilを使うと、バイナリ形式のplistを、XML形式もしくはJSON形式に変換することができます。
Windowsでは、iTunesのインストール時に一緒にインストールされる、Apple Application Supportの中のplutil.exeを使ってください。
使い方やオプションは、macOSのplutilと同じです。

ちなみにWindowsで、shortcutファイルをXML形式に変換するコマンドは以下の通りです。

"%COMMONPROGRAMFILES(x86)%\Apple\Apple Application Support\plutil.exe" -convert xml1 "%USERPROFILE%\Desktop\○○○.shortcut" -o "%USERPROFILE%\Desktop\○○○.xml"

逆に、XML形式のファイルをshortcutファイルに変換するコマンドは、以下の通りです。

"%COMMONPROGRAMFILES(x86)%\Apple\Apple Application Support\plutil.exe" -convert binary1 "%USERPROFILE%\Desktop\○○○.xml" -o "%USERPROFILE%\Desktop\○○○.shortcut"

ちなみに、レシピ集で公開しているレシピ「ホーム画面に戻る」をXML形式のファイルに変換した場合、このような内容になります。

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>WFWorkflowActions</key> <array> <dict> <key>WFWorkflowActionIdentifier</key> <string>is.workflow.actions.comment</string> <key>WFWorkflowActionParameters</key> <dict> <key>WFCommentActionText</key> <string>【ホーム画面に戻る】 iOSのホーム画面のアプリ、Springboadを起動します。 【配布元】 ショートカットApp アクションリファレンス https://350ml.net/shortcuts/</string> </dict> </dict> <dict> <key>WFWorkflowActionIdentifier</key> <string>is.workflow.actions.openapp</string> <key>WFWorkflowActionParameters</key> <dict> <key>WFAppIdentifier</key> <string>com.apple.springboard</string> </dict> </dict> <dict> <key>WFWorkflowActionIdentifier</key> <string>is.workflow.actions.exit</string> <key>WFWorkflowActionParameters</key> <dict/> </dict> </array> <key>WFWorkflowClientRelease</key> <string>3.0</string> <key>WFWorkflowClientVersion</key> <string>1050.24</string> <key>WFWorkflowIcon</key> <dict> <key>WFWorkflowIconGlyphNumber</key> <integer>59755</integer> <key>WFWorkflowIconStartColor</key> <integer>4282601983</integer> </dict> <key>WFWorkflowImportQuestions</key> <array/> <key>WFWorkflowInputContentItemClasses</key> <array> <string>WFAppStoreAppContentItem</string> <string>WFArticleContentItem</string> <string>WFContactContentItem</string> <string>WFDateContentItem</string> <string>WFEmailAddressContentItem</string> <string>WFGenericFileContentItem</string> <string>WFImageContentItem</string> <string>WFiTunesProductContentItem</string> <string>WFLocationContentItem</string> <string>WFDCMapsLinkContentItem</string> <string>WFAVAssetContentItem</string> <string>WFPDFContentItem</string> <string>WFPhoneNumberContentItem</string> <string>WFRichTextContentItem</string> <string>WFSafariWebPageContentItem</string> <string>WFStringContentItem</string> <string>WFURLContentItem</string> </array> <key>WFWorkflowMinimumClientVersion</key> <integer>900</integer> <key>WFWorkflowMinimumClientVersionString</key> <string>900</string> <key>WFWorkflowTypes</key> <array> <string>WatchKit</string> </array> </dict> </plist>

【参考】
 → Undocumented Mac OS X: 第3回 plist(プロパティリスト)とFoundation【前編】 - ITmedia エンタープライズ