簡単に言えば、Scripting Bridge を使用すると Photoshop でドキュメントを開くことができないということです。
Appleのドキュメントは、実際にそれをそのまま綴っています。すべてのクラスには、生成されたヘッダーに示されているように、変更可能な配列であるコンテナーが必要です。これは、処理を実行する前に追加する必要があります...
@interface photoshopCS4Application : SBApplication
- (SBElementArray *) documents;
- (SBElementArray *) fonts;
- (SBElementArray *) notifiers;
... これが、利用可能なトップレベル コンテナの完全なリストです。このopen
コマンドでは、を生成して入力する必要があります。photoshopCS4OpenOptions
API は、新しく作成された photoshopCS4OpenOptions オブジェクトを格納する配列を公開しないため、新しく作成されたphotoshopCS4OpenOptions
オブジェクトを使用することはできません。そのため、対象となるドキュメントを作成できず、拡張によりopen
Scripting Bridge でコマンドを使用できません。ある種のオプション オブジェクトを必要とするすべてのコマンドについても同じことが言えます。
私が解決した唯一の回避策は、Cocoa または objc-appscript から呼び出されたネイティブ Applescript を使用してドキュメントを開き、documents
配列を解析して、開いたばかりのものを探すことです。これは理想的ではありませんが、スクリプト ブリッジでもありません。アプリケーション開発者は、OSA フレームワークにネイティブではない非常に特殊な方法でスクリプト API を作成する必要があるからです。