ショートカット(Shortcuts.app)のmacOS 15に搭載バージョンでは、「AppleScriptを実行」アクションを配置すると、アクションのテキスト編集エリアに何も表示されないことを確認しました。
タグ: Shortcuts
Finderの隠し命令openVirtualLocationが発見される
Twitter上で@usagimaruma氏がレポートしたところにより、FinderにSiri用の隠しAppleScriptコマンド「openVirtualLocation」が存在していることが明らかになりました。
ドキュメントに載っていないFinder AppleScriptの命令を見つけた。tell構文でFinderに対して 'openVirturalLocation "AirDrop"' みたいにすると、AirDropやiCloud Driveのウインドウを直接開ける。 pic.twitter.com/SZHb8c14T7
— usagimaru ⌘ (@usagimaruma) November 19, 2022
tell application "Finder" openVirtualLocation "AirDrop" end tell
/System/Library/CoreServices/Finder.app/Contens/Applications の下にある、
といった小型アプリケーションが、上記のコマンドを利用して機能を呼び出しています。バイナリをダンプすると、”openVirtualLocation”コマンドの部分を生AppleEventsで記述してあり、少し不思議な雰囲気です。
早速、手元の環境でチェックしてみたところ、報告されたとおりに動きます。
hidden=”yes”に設定されているために、普通にFinderをsdefをスクリプトエディタで確認しただけでは表示されません。
過去にさかのぼって、どのバージョンのOSから使えるのかを確認してみたところ、
macOS 10.14:NG
macOS 10.15:NG
macOS 11.6:Exist
macOS 12.6:Exist
macOS 13.x:Exist
と、Siriの搭載とリンクしているというよりは、ショートカット.appの搭載とリンクしているように見えるので、macOS 11のFinderにこのコマンドは搭載されていないのではないか、と推測します。
macOS 12.6.1、組み込みAppleScript実行環境の「script objectで分離したハンドラが呼べない」問題が解消?
macOS 12.6.1がアップデートして12.6.1になるというわけのわからないバージョン番号の採番ルールが展開されている今日このごろ。
macOS 12の初期において、Shortcuts.appやCotEditor内部のAppleScript実行環境において、script objectで論理分割した中にあるハンドラを呼べない という問題が確認されました。ただし、macOS 12.6.1で気づいたということであって、もう少し前のバージョンでこの変更が加わっていた可能性もあります。
ハンドラ呼び出しの範囲がscript objectを超えられないというわけで、CotEditor PowerPackの作成時に大幅にScriptを書き換える必要があって手間がかかった記憶があります。
AppleScript基礎テクニック集25巻にて「CotEditorのメニューScriptとShortcuts.appでは対策が必要」と書こうとして、念のために実際にmacOS 12.6.1の上でCotEditor v4.3.6で確認したところ、動きました。Shortcuts.appでも同様にscript object内部のハンドラを外部から呼び出せるようになっていました。
# 慌てて、書籍の方を書き換えました
各プログラム側で何かそんなマイナーな問題への対策を行ったような雰囲気はなかったので、OS側の実行モジュール(osascript?)で対策を行ったような雰囲気があります。ただ、Appleがリリースノートを一切出さないので、確認のしようがありません(ものすごく不信感しかないので、リリースノートは出してほしいなー。まさか、詳細なリリースノートを出さないことで、クラッカーへの情報流出を防止できている、とか現状を肯定的に捉えているのだろうか)。
集中モード(Don’t Disturb Mode)に設定する
macOS 12.x上で集中モード(Don’t Disturb Mode)に設定するAppleScriptです。
Shortcutsにその機能があるので、AppleScriptから呼ぶことになるでしょう。使っていると「日本語AppleScript」みたいな違和感の塊のようなショートカット.app。「おやすみモードをオフ時までオンにする」とか、無理に日本語にしないで英語にしてあったほうがまだ分かりやすいと思います。
この「集中モード」という機能についても、画面上で「おやすみモード」と表現されていたり「集中モード」と表現されていたり、いまひとつ機能を表す言葉のレベルに戸惑いを感じます。それとも、自分が何か根本的に勘違いしている箇所があるものでしょうか。
インストール+実行ルーチンを呼ぶことで、このショートカット・ワークフローがMac上に存在していなければインストールし、呼び出しを行います。
AppleScript名:Don’t Disturb Shortcuts v2.scpt |
— – Created by: Takaaki Naganoya – Created on: 2021/11/01 — – Copyright © 2021 Piyomaru Software, All Rights Reserved — set aName to "PIYO_Don’t Disturb" –Shortcut名称 set aURL to "https://www.icloud.com/shortcuts/cf960093816e4c7fb8d23c10e8820790" –共有URL set sRes to installAndRunShortcuts(aName, aURL) of me –Install Shortcut and run it on installAndRunShortcuts(aName, aURL) tell application "Shortcuts Events" set n1List to name of every shortcut end tell if n1List does not contain aName then display notification "Plese Install my Shortcuts workflow" open location aURL end if repeat 100 times tell application "Shortcuts Events" set n2List to name of every shortcut end tell if n2List contains aName then exit repeat end if delay 0.5 end repeat if n2List does not contain aName then display dialog "I can’t run my Shortcuts because you canceled installing" return false end if tell application "Shortcuts Events" run shortcut aName return true end tell end installAndRunShortcuts |
Shortcuts Eventsでショートカットのインストール+実行
macOS 12で標準搭載された「ショートカット.app」(Automatorを置き換える簡易ワークフロー構築・実行ツール)を操作して(実際にはGUIなしのShortcuts Events.app)、自分がiCloud上で共有しているショートカット・ワークフローのインストールと実行を行わせるAppleScriptです。
ショートカット・ワークフローはローカルではなくiCloud上に置かれています。それらは「名前」で識別できますが、ユニークなIDが振られているわけではありません。ものすごく不満ですが、一応識別できることにしましょう。
ショートカット・ワークフローは「共有」することが可能で、とくに「リーディングリストで共有」すると、iCloud上の生URLが得られる(SafariのURL欄に表示される)ため、このURL情報を共有すれば「指定のショートカット・ワークフローが存在していない場合にはiCloud上からインストールさせる」という処理が可能になります。
# このあたり、まだ試行錯誤中なので「現時点ではこういう運用をしている」という程度です
今日確認したら、「ファイル」メニューの「共有」に「iCloudリンクをコピー」という項目がありました。
リンクをコピーする機能を入れるなら「編集」メニューではないのかと思わないではないですが、機能的にはこちらがシンプルなのでご利用ください。
お使いの環境に指定のショートカット・ワークフローがインストールされていない場合には、インストールを求めます。ただ、単なる「名称」でしかチェックしていないのと、あらかじめ「同じ名前で内容が違うショートカット」が存在していたら、「インストールずみ」と判定してしまうので、一意に識別できるユニークな識別子がショートカット・ワークフローについていないのはどうかと思います。入手先のiCloud URLでもよいのですが、、、、
# 一応、コンピュータ上で互いを識別するための「id」は持っています
ここで、インストールを行わなかった場合には、それを検出してダイアログ表示します。
AppleScript名:Shortcuts Eventsでショートカットのインストール+実行.scpt |
— – Created by: Takaaki Naganoya – Created on: 2021/11/01 — – Copyright © 2021 Piyomaru Software, All Rights Reserved — set aName to "ASTEST3" –Shortcut名称 set aURL to "https://www.icloud.com/shortcuts/e788482535704922aaa9f617491353b2" –共有URL set sRes to installAndRunShortcuts(aName, aURL) of me –Install Shortcut and run it on installAndRunShortcuts(aName, aURL) tell application "Shortcuts Events" set n1List to name of every shortcut end tell if n1List does not contain aName then display notification "Plese Install my Shortcuts workflow" open location aURL end if tell application "Shortcuts Events" set n2List to name of every shortcut end tell if n2List does not contain aName then display dialog "I can’t run my Shortcuts because you canceled installing" return false end if tell application "Shortcuts Events" run shortcut aName return true end tell end installAndRunShortcuts |
ショートカットのプロパティで返ってくるアイコンをダイアログ表示
macOS 12であらたに搭載されたショートカット.appのショートカット・ワークフローのアイコンを読み取ってダイアログ表示するAppleScriptです。
Shortcuts.appおよびShortcuts Events.app経由で各ショートカット・ワークフローの情報を取得することができます。
tell application "Shortcuts Events"
set aList to properties of shortcut 1
–> name:"ASTEST", class:shortcut, accepts input:false, action count:1, subtitle:"1個のアクション", folder:missing value, color:{62105, 22734, 24226}, computer name:«data TIFF4D4D002A00040008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 …..» id:"5CEF527E-F2E7-42A4-9513-209F098E50E9"}
end tell
★Click Here to Open This Script
ここで、「computer name」と解釈されているのがショートカット・ワークフローのアイコンです。このあたりバグくさいところですね。実際には「icon」という属性ラベルなのですが、、、、
iconデータの内容は最初の文字を見れば丸わかりのTIFF画像です。
手っ取り早く変換したかったので、クリップボード経由でNSImageに変換して、ダイアログに表示してみました。
この手の「ちょっとしたビューをアラートダイアログに入れてデータ表示」を行うのは、すでにノウハウがたまっていて気楽に行えるのが2021年的なAppleScriptの利用状況です。
とりあえず、すべてのショートカット・ワークフローのアイコンを取得することはできるのですが、全部確認するのはかったるいので冒頭の10個だけ表示しています。
AppleScript名:ショートカットのプロパティで返ってくるアイコンをダイアログ表示.scpt |
— – Created by: Takaaki Naganoya – Created on: 2021/10/27 — – Copyright © 2021 Piyomaru Software, All Rights Reserved — use AppleScript version "2.8" use scripting additions use framework "Foundation" use framework "AppKit" property NSAlert : a reference to current application’s NSAlert property NSImage : a reference to current application’s NSImage property NSImageView : a reference to current application’s NSImageView property NSRunningApplication : a reference to current application’s NSRunningApplication property NSImageScaleProportionallyUpOrDown : a reference to current application’s NSImageScaleProportionallyUpOrDown property returnCode : 0 tell application "Shortcuts Events" set aCount to count every shortcut if aCount > 10 then set aCount to 10 –Too dull to see every icons…. If you want whole icons, remove this if-then block end if end tell repeat with i from 1 to aCount tell application "Shortcuts Events" set aProp to properties of shortcut i set aCon to icon of aProp set aName to name of aProp end tell –クリップボードの内容をNSImageに set the clipboard to aCon set aNSIMage to my getClipboardASImage() my dispNSImage(aNSIMage, aName) end repeat on dispNSImage(aNSIMage, aTitle) set aMessage to "Your NSImage" set paramObj to {myMessage:aTitle, mySubMessage:"This is an image", myImage:aNSIMage} my performSelectorOnMainThread:"displayImageView:" withObject:(paramObj) waitUntilDone:true –my displayImageView:paramObj–for debugging with Script Editor end dispNSImage on displayImageView:paramObj set aMainMes to myMessage of paramObj set aSubMes to mySubMessage of paramObj set anImage to (myImage of paramObj) set imgSize to (anImage’s |size|()) set imgWidth to ((imgSize’s width) as real) set imgHeight to ((imgSize’s height) as real) set anImageView to NSImageView’s alloc()’s initWithFrame:{origin:{x:0.0, y:0.0}, |size|:{width:imgWidth, height:imgHeight}} anImageView’s setImageScaling:(NSImageScaleProportionallyUpOrDown) anImageView’s setEditable:false anImageView’s setImage:anImage anImageView’s display() — set up alert set theAlert to NSAlert’s alloc()’s init() tell theAlert its setMessageText:aMainMes its setIcon:anImage its setInformativeText:aSubMes its addButtonWithTitle:"OK" its addButtonWithTitle:"Cancel" its setAccessoryView:anImageView end tell — show alert in modal loop NSRunningApplication’s currentApplication()’s activateWithOptions:0 my performSelectorOnMainThread:"doModal:" withObject:(theAlert) waitUntilDone:true if (my returnCode as number) = 1001 then error number -128 end displayImageView: on doModal:aParam set (my returnCode) to aParam’s runModal() end doModal: — クリップボードの内容をNSImageとして取り出して返す on getClipboardASImage() set theNSPasteboard to current application’s NSPasteboard’s generalPasteboard() set theAttributedStringNSArray to theNSPasteboard’s readObjectsForClasses:({current application’s NSImage}) options:(missing value) set theNSAttributedString to theAttributedStringNSArray’s objectAtIndex:0 return theNSAttributedString end getClipboardASImage |
AppleScriptからショートカット実行&ショートカット内でAppleScriptを実行
macOS 12で新規搭載された「ショートカット.app」、このアプリケーション上で記述するワークフローを「ショートカット」、ショートカットを構成する各コマンドを「アクション」と呼びます。
ショートカット.appは日本語ローカライズされた名称であって、実際には「Shortcuts.app」という名前です。
AppleScript用のショートカット実行GUIなしアプリケーション「Shortcuts Events.app」が別途(ショートカット.appのバンドル内に)存在しており、こちらもAppleScript用語辞書を備えています。
Shortcuts.appに対してコマンドを実行すると、同アプリケーションが起動します。Shortcuts Events.appに対してコマンドを実行すると、Shortcuts.appは起動しません。
両者とも辞書内容は一緒であり、バージョン番号と名前以外に差異はありません。
AppleScript名:ショートカットのプロパティを取得.scpt |
tell application "Shortcuts" properties –> {frontmost:false, class:application, name:"Shortcuts", version:"5.0"} end tell |
AppleScript名:Shortcuts Eventsのプロパティを取得.scpt |
tell application "Shortcuts Events" properties –> {frontmost:false, class:application, name:"Shortcuts Events", version:"1.0"} end tell |
ショートカット.appを起動するとこのようなウィンドウが表示されます。
あるいは、このようなウィンドウです。
ショートカット一覧が並んだ表示状態で実行することもできますし、ダブルクリックして個別ウィンドウ表示した状態で実行することも可能です。
また、メニューから実行することも可能です。
環境設定では、以下のような設定が行えます。「詳細」に「スクリプトの実行を許可」の項目があり、デフォルトではオフになっています。当然、ここはオンにします。他の項目についても適宜、自己責任でオンにすることになります。
ショートカット(ワークフロー)はローカルに保存されません。iCloud上に保存されます。
ショートカット(ワークフロー)の共有はコンテクストメニューから行います。このさい、iCloud上のURLが直接表示されないため、少々面倒な感じです。
「リーディングリスト」で共有すると、WebブラウザのURL欄に詳細なURLが表示されるため、これを用いるとよさそうです。
https://www.icloud.com/shortcuts/e788482535704922aaa9f617491353b2
新規ショートカットの作成には、メニューから「ファイル」>「新規ショートカット」(Command-n)を実行するか、ショートカット.appのウィンドウでツールバーの「+」をクリックします(すべてのショートカット、My Shortcutなど選択中のフォルダによって表示/非表示状態が変わります)。
初期状態はこんな(↑)感じです。アクションを選択してダブルクリックするか、ビュー上にドラッグ&ドロップするとアクションが置かれます。
最初なので、ダイアログでも出しておきましょう。
ツールバー上の「▶︎」ボタンをクリックするか、Command-rでショートカット(ワークフロー)を実行します。
ショートカットは名前で識別することになります。ツールバー上の名称を変更すると名前を付けられます。
AppleScript側からはこの名前「AS TEST2」を指定して呼び出すことになります。
AppleScript名:ショートカット.appでショートカット実行.scpt |
tell application "Shortcuts" run shortcut "AS TEST2" end tell |
AppleScript名:Shortcuts Eventsでショートカット実行.scpt |
tell application "Shortcuts Events" run shortcut "AS TEST2" end tell |
現在のところ、Shortcuts.appならびにShortcuts Events.appのrunコマンドでパラメータを指定すると実行時にエラーになるので、パラメータをAS側からショートカット側に指定できていません。クリップボード経由で指定するとかいってアクロバット技を使えばできないことはありませんが、パラメータを指定できないのは明らかな「バグ」です。
あとは、他のプログラムとの相互運用性を高めるためには、ショートカット側の実行結果をAS側に返してくれることが望ましいです。オブジェクトによっては、sdefを通じてやりとりできないCocoa Object(CLLocationなど)もありますが、結果は得られるべきでしょう。
ショートカット.appについては、ヘルプにけっこうな内容の説明が書かれているので、まずはそちらを読むとよいでしょう。ただ、日本語訳がよくないのか「お前は何を言ってるんだ?」という表現が散見され、説明文というよりも広告みたいな内容の箇所もあります。
macOS 12が正式リリースされる
macOS 12が正式にリリースされました。ソフトウェアの互換性が確認されていれば、macOS 10.15や11からは(久しぶりに)乗り換える価値のあるOSです。とくに、Apple Silicon Macについては「Must Update」なOSといえるでしょう。
あらたに搭載されたmacOS用のショートカット.app
iOS用にサードパーティが出していたアプリケーション「DeskConnect」をAppleが買収してiOSに「ショートカット」の名前で搭載した自動化アプリケーション。そのmacOS版が搭載されました。Automatorの後継環境として位置付けられているもので、AutomatorのWorkflowの読み込み機能を有しています。
デフォルトでショートカットの内容をメニューバーに表示する機能があり、Script Menuのようにメニューバーから選択・実行が可能です。
自分のiOS環境にはDeskConnectをインストールしてあったので、
Mac上で見てもこんなDeskConnect時代のショートカットも残っているのですが、すでにDeskConnectが動作しないので消すしかありません。
ショートカット.appについては、現時点では「使い物にならない」という評価しかできません。Mac上で動作する標準装備ツールでありながら、実行にiOS用のアプリが必要なMac上で動かないショートカット・アクションが大量に存在しており、Mac上で実行できないことを警告する機構が存在していません。実行してはじめて「Mac上で実行できない」というエラーが表示される程度。「ツイート」アクションも、実行するとエラーになります。
ショートカットについては、Automatorよりも1つ1つのアクションに細かいものが用意されているため、Automatorよりは一般的なプログラミング言語っぽい(下手するとAppleScriptと同じぐらいの粒度の命令がある)印象さえ受けるのですが、微妙に日本語訳がこなれていないのか、日本語で表示すると理解に苦しむアクションが大量に存在しています。
下手をすると、これは「日本語AppleScript」の再来なのではないか、と思わせるような風景が展開されており、ちょっと困惑をおぼえます。
ただ、「AppleScriptを実行」アクションが搭載されており、これが一応普通に動くことを確認してあります。Cocoaの機能も呼び出せるなど、ここだけは「ちゃんとしている」印象を受けます。
ちなみに、ショートカット実行プログラムのランタイム名は「MacHelper」となっており、これは「ショートカット.app」上から実行しても、GUIなしの「Shortcuts Events.app」から実行しても同じ内容が返ってきます。
ショートカット上のAppleScriptの処理速度については、実行されるまでのチェック段階が多々存在しているため、スピードを議論するレベルではないと思います。Automatorにきわめて似た使用感です。
ショートカットのAppleScriptを実行アクションに記述するAppleScriptについては、
use AppleScript use scripting additions use framework "Foundation" on run {input, parameters} set procInfo to current application's NSProcessInfo's processInfo() set aName to procInfo's processName() as string display dialog aName return aName end run
と、Automatorとほぼ同一の記述方法です。この実行環境は、ローカルにインストールしたAppleScriptライブラリの呼び出しを許容するので、Switch Controlよりは自由度があります。
ここはよしあしで、iCloud経由で共有するショートカットで、AppleScriptライブラリの個別環境へのインストールが必要となるAppleScriptを含んでいる場合には、運用性が下がります。AppleScriptライブラリ自体をアクションに埋め込むような形態になっていれば話は別なんでしょうけれど。
現状では、macOS上でショートカットを運用できるメリットが少ないものと判断しました。荒削りすぎて、まだα版みたいな完成度です。こまかいところでバグも多々あります。macOS 12の登場に合わせてショートカットの書籍の発行を検討していたものの、そのあまりの完成度の低さにプランを投げ出したほどです。
それでも、現状のショートカットに対して2つだけメリットを見出すとしたら、
(1)iOS用のアクションを編集できる大きな画面を備えた環境であること。macOS環境は「編集環境」と割り切る
(2)macOS上でSiriによる音声認識からAppleScriptを実行できる仕組みとして活用
といったあたりでしょうか。現状ではiOS用ショートカットのクロス開発、Mac上での音声認識コマンド実行用部品 としての価値しかありません。
macOS上にはアクセシビリティ系の音声認識+AppleScript実行システムが搭載されており、macOS 10.12あたりから日本語音声認識が使えるようになりました。現状ではこのDictation音声認識システムとSiriの音声認識システムの2つのシステムが載っています。前者についてはなるべくメニューの奥深くの目立たない場所に移動されており、そのあたりに「意図」を感じずにはいられません。
Automatorを置き換える件については、現状では夢物語のレベル。もともと性格が大きく異なります。Automatorのほうがすぐれている点もあれば、ショートカットのほうがすぐれている点もあります。ただし、AppleScript Studioの仕組みを引きずっているAutomatorの機構の維持そのものにかかる手間が大きいのでしょう。移行は止むを得ないというところでしょう(現状で、Automatorが事実上何にも役立っていないので)。
AppleScript v2.8
バージョン番号を変えるほどの変化があったのか、自分にはよくわからないのですが、リリースノートが「AppKit」といった単位でしか書かれなくなったために、詳細がわかりません。
……少なくとも、macOS 10.15で極端に遅くなっていたCocoa呼び出し速度が(Intel Macでも)改善され、さらにApple Silicon MacでのCocoa呼び出し速度が大幅に向上しています(macOS 11の30〜40倍速)。これは、macOS 11+Apple Silicon MacでAppleScriptからのCocoa機能呼び出しが極端に遅くなっていた(高性能コア「FireStorm」ではなく、高効率コア「IceStorm」で実行されてしまっていた)点が修正されたためです。
Cocoaの機能を利用していない場合でも、macOS 11より高速になっているため、M1 Macを使っているScripterにはmacOS 12へのアップデートをおすすめしたいところです(職場のアプリケーションの互換性維持のため、アップデートしないというポリシーがある場合をのぞく)。
OSの構造変化による影響も受けています。既報のように、macOS内のフレームワークがmacOS 11あたりで再編(Umbrella Frameworkだったものが独立。とくにPDFKitとか)され、useコマンドで別のものを指し示すよう書き換える必要が出てきています。
macOS 12.0.1では、日本語環境でNSDataDetectorを用いて自然言語テキストから電話番号を抽出できないというバグがまだ解消されていません。
総評
このmacOS 12というOSにアップデートする価値があるのかどうか、という話については「アップデートできるならアップデートすべき」です。これは、バグだらけでリリースされて信用を大きく失ったmacOS 10.13、10.15とは異なるレベルの「ちゃんとしたmacOS」です。
また、macOS 11ではApple Silicon Macの持つパフォーマンスを発揮し切れていませんでした。M1 MacにmacOS 12を入れると、AppleScriptで作成したソリューションの動作速度の向上幅に腰を抜かすことでしょう。自分もMac App Storeで販売しているAppleScriptで記述した自作アプリケーションのかずかず(とくにKamenoko)をmacOS 12で動かすと、その速さと快適さにmacOS 11には戻れなくなってしまいました。
M1 MacでもIntel Macでも、環境が許せばすぐにアップデートすべき、近年稀に見るOSでしょう。ただし、Uncontrollableな混乱を楽しめる限りにおいて。
Shortcuts Events
macOS 12で搭載される「ショートカット」は、iOS上の自動化ツール「DeskConnect」をAppleが買収して発展させ、Apple純正ソフトウェアとして提供されているものです。簡単な自動化を行うためのツールです。
このショートカットがmacOS 12に搭載されることがKeynoteで発表されました。さらに、ショートカットからAppleScriptが実行できることが明らかにされ、AppleScriptからもショートカットを実行できるとのこと。
タイトルにも挙げている「Shortcuts Events」が、AppleScript専用のGUIなし補助アプリケーションであり、AppleScript側からショートカットのアクションを呼び出すことができるようです。
ただし、最初のmacOS 12β版ではまだAppleScriptからショートカットのアクションを実行できないことが、Release NotesのKnown Issuesに明記されています。
10.4 | 10.5 | 10.6 | 10.7 | 10.8 | 10.9 | 10.10 | 10.11 | 10.12 | 10.13 | 10.14 | 10.15 | 11.0 | 12.0 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Shortcuts Events | ⬛︎ | |||||||||||||
ColorSyncScripting | ⬛︎ | ⬛︎ | ||||||||||||
Database Events | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ |
Digital Hub Scripting | ⬛︎ | ⬛︎ | ||||||||||||
FontSync Scripting | ⬛︎ | ⬛︎ | ||||||||||||
Image Events | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ★ | ★ | ★ |
Keychain Scripting | ⬛︎ | ⬛︎ | ⬛︎ | |||||||||||
System Events | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ | ⬛︎ |
URL Access Scripting | ⬛︎ | ⬛︎ | ⬛︎ |
WWDC21でShortcuts for Macが発表に
WWDC21にて、macOS 12にShortcuts for Macが搭載されることが発表されました。同ツールはAutomatorを置き換え、iPhoneやiPad上のShortcutsとは異なるクリエイティブ系に寄せたアクションが実行できるとのこと。
Shortcuts内からもAppleScriptやShell Scriptを呼び出せるようになっており、Mac上でSiriからShortcutsの呼び出しが行える=「Siriから(ShortcutsのAction上に記載した)AppleScriptが実行できるようになった」ことを意味しています。
Automatorの今後については、すでにAppleScript Studioランタイムがdeprecated扱いで、機能の追加は行われません。Xcode上に添付されているAutomator Acrtionのテンプレートも、すでにAppleScript Studioではなく「Cocoa AppleScript」(AppleScriptObjC)です。