私のアプリケーションの 1 つで、いくつかの新しいプロパティをdocument
標準 AppleScript スイートのクラスに追加しました。これらのプロパティには、 type のものもtext
あれば、 type のものもありboolean
ます。「sdef」ファイルを作成し、アプリのリソースに if を追加しました。
しかし、アプリを起動すると、コンソールに次のようなメッセージが表示されます。
スイート 'Standard Suite' のクラス 'window' のタイプ 'text' 属性 'title' に対する .sdef 警告: このプロパティのタイプは NSString から派生していないため、AppleScript の名前参照は機能しない可能性があります。
そして、実際にtext
AppleScript 内の型でそのような新しいプロパティから値を取得しようとすると、失敗します。アプリ内の正しいメソッドが呼び出され、正しい値が としてNSString
返されますが、AppleScript はエラーを返します。コンソールに再びメッセージが表示されます。
スクリプト コマンドの結果を返す際にエラーが発生しました: 結果オブジェクト...「要求された NSString 値」...タイプ「テキスト」の Apple イベント記述子に変換できませんでした。クラス '__NSCFString' のこのインスタンスは、-objectSpecifier が送信されたときに nil を返し (オーバーライドされていませんか?)、スクリプト クラス 'text' に対して宣言された強制型はありません。
NSString
これはおそらく、Cocoaオブジェクトを AppleScriptオブジェクトに変換できなかったことを意味しtext
ます。
新しいブール値のプロパティの 1 つから値を取得しようとすると、問題なく動作します。
NSString
オブジェクトを AppleScriptオブジェクトに変換するには、正確に何をする必要がありtext
ますか?