概要
フォロワーさんから「Adobe の ExtendScript が Apple Silicon 環境で動かないという話を聞いたが、実際どうなの?」と質問されたので、簡単に調べてみた
調べたこと
- targetengine の指定があると ExtendScript が起動しないという話は本当か
- BridgeTalk の指定があると ExtendScript が起動しないという話は本当か
- VS Code の ExtendScript Debugger が Apple Silicon 環境で動かないという話は本当か
結論
- InDesign 2021、InDesign 2022 では targetengine の指定があっても ExtendScript は起動した
- Illustrator 2021 では、Apple Silicon 環境で ScriptUI + BridgeTalk + ExtendScript は起動せず、Illustrator 2021 を Rosetta 環境で起動したら起動する
- VS Code の ExtendScript Debugger は Apple Silicon 環境では起動せず(正確には読み込まれていない?)、Intel 版をインストールして Intel 版を起動すると ExtendScript Debugger が使用できる
調査メモ
targetengine の指定があると ExtendScript が起動しないという話は本当か
これは特にソースは見つからなかったけど、おそらく BridgeTalk の話と一緒くたになってそう。
手元で試したところ、特になにもせずスクリプトを起動できてしまった。
試したコードは以下。
//@targetengine "hoge" var progressBar = makeProgressBar('プログレス'); progressBar.show(); function makeProgressBar(title) { var palette = new Window("palette"); palette.text = title; palette.preferredSize.width = 700; palette.preferredSize.height = 60; palette.alignChildren = ["center","center"]; palette.spacing = 10; palette.margins = 16; palette.myProgressBar = palette.add("progressbar", undefined, undefined, {name: "myProgressBar"}); palette.myProgressBar.maxvalue = 100; palette.myProgressBar.value = 0; palette.myProgressBar.preferredSize.width = 450; palette.myProgressBar.preferredSize.height = 20; palette.myProgressBar.alignment = ["center","center"]; var button = palette.add("button", undefined, undefined, {name: "OK"}); button.onClick = function () { alert('Button clicked!'); } return palette; }
BridgeTalk の指定があると ExtendScript が起動しないという話は本当か
私が販売しているスクリプトが動かないという報告を受けて、その際に「BridgeTalk を利用しているとだめっぽい」と教えていただいた。
ググったところ、UserVoice にもあがっていた。
https://indesign.uservoice.com/forums/601180-adobe-indesign-bugs/suggestions/43993263-scripts-using-bridgetalk-do-not-work-on-m1-macs-r
これ、Vote 数少なくないけど、困っている人そんなにいないんですかね。
Illustrator で ScriptUI + BridgeTalk + ExtendScript という構成で作成していると、詰むはずなんだけど。
根本原因は Adobe に解決してもらうしかないので、当座の対策として Rosetta 環境で Illustrator を起動するしかなさそう。
なんのための Apple Silicon なのか。
ちなみに Rosetta 環境で起動させる手順は以下のとおり。
1. Finder で 該当アプリケーションを選択する
2. 情報を見る
3. 開いたダイアログ内の「Rosetta を使用して開く」にチェックを入れる
4. アプリケーションを起動する
VS Code の ExtendScript Debugger が Apple Silicon 環境で動かないという話は本当か
これは人づてに聞いた話がもとで調べた。
ググったら Adobe のコミュニティで解決策が提示されていた。
https://community.adobe.com/t5/indesign-discussions/vscode-extendscript-debugger-on-m1-doesn-t-ask-to-select-target-and-selectactivetarget-not-found/td-p/12006537
要約すると 公式サイト の Intel Chip をダウンロードしてインストールし、ExtendScript Debugger をインストールすればよい。
Universal、Apple Silicon も試してみたが、だめだった。
すでに ExtendScript Debugger がインストール済の場合は、VS Code を起動した時点で読み込まれるっぽい。
複数バージョンの VS Code が存在することになるので、ちょっと鬱陶しいけど、解決するまではこうするしかなさそう。
補足
- 手頃なスクリプトが手元になかったので、InDesign で ScriptUI + BridgeTalk + ExtendScript は試していない。動かないかもしれない
- Photoshop も滅多にスクリプトを書かないので試していない
まとめ
Apple も Adobe も 環境的に DTP に向いていない気がする。
正直だいぶやる気を削がれている。
UXP になったら少しは改善するんですかね。