Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

macOS 12が正式リリースされる

Posted on 10月 26, 2021 by Takaaki Naganoya

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な混乱を楽しめる限りにおいて。

More from my site

  • macOS 12.6.1、組み込みAppleScript実行環境の「script objectで分離したハンドラが呼べない」問題が解消?macOS 12.6.1、組み込みAppleScript実行環境の「script objectで分離したハンドラが呼べない」問題が解消?
  • 集中モード(Don’t Disturb Mode)に設定する集中モード(Don’t Disturb Mode)に設定する
  • Shortcuts Eventsでショートカットのインストール+実行Shortcuts Eventsでショートカットのインストール+実行
  • AppleScriptからショートカット実行&ショートカット内でAppleScriptを実行AppleScriptからショートカット実行&ショートカット内でAppleScriptを実行
  • Shortcuts EventsShortcuts Events
  • Finderの隠し命令openVirtualLocationが発見されるFinderの隠し命令openVirtualLocationが発見される
(Visited 733 times, 1 visits today)
Posted in news | Tagged 12.0savvy Shortcuts Shortcuts Events | Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • macOS 13.6.5 AS系のバグ、一切直らず
  • CotEditorで2つの書類の行単位での差分検出
  • Apple純正マウス、キーボードのバッテリー残量取得
  • macOS 15, Sequoia
  • 初心者がつまづきやすい「log」コマンド
  • 指定のWordファイルをPDFに書き出す
  • Adobe AcrobatをAppleScriptから操作してPDF圧縮
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • メキシカンハットの描画
  • 与えられた文字列の1D Listのすべての順列組み合わせパターン文字列を返す v3(ベンチマーク用)
  • 2023年に書いた価値あるAppleScript
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AdobeがInDesign v19.4からPOSIX pathを採用
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • Numbersで選択範囲のセルの前後の空白を削除
  • Cocoa Scripting Course 続刊計画
  • macOS 14.xでScript Menuの実行速度が大幅に下がるバグ
  • NaturalLanguage.frameworkでNLEmbeddingの処理が可能な言語をチェック
  • AppleScriptによる並列処理

Tags

10.11savvy (1102) 10.12savvy (1243) 10.13savvy (1392) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (209) 13.0savvy (182) 14.0savvy (132) 15.0savvy (109) CotEditor (64) Finder (51) iTunes (19) Keynote (115) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (75) Pages (54) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC