2

私のアプリケーションの 1 つで、いくつかの新しいプロパティをdocument標準 AppleScript スイートのクラスに追加しました。これらのプロパティには、 type のものもtextあれば、 type のものもありbooleanます。「sdef」ファイルを作成し、アプリのリソースに if を追加しました。

しかし、アプリを起動すると、コンソールに次のようなメッセージが表示されます。

スイート 'Standard Suite' のクラス 'window' のタイプ 'text' 属性 'title' に対する .sdef 警告: このプロパティのタイプは NSString から派生していないため、AppleScript の名前参照は機能しない可能性があります。

そして、実際にtextAppleScript 内の型でそのような新しいプロパティから値を取得しようとすると、失敗します。アプリ内の正しいメソッドが呼び出され、正しい値が としてNSString返されますが、AppleScript はエラーを返します。コンソールに再びメッセージが表示されます。

スクリプト コマンドの結果を返す際にエラーが発生しました: 結果オブジェクト...「要求された NSString 値」...タイプ「テキスト」の Apple イベント記述子に変換できませんでした。クラス '__NSCFString' のこのインスタンスは、-objectSpecifier が送信されたときに nil を返し (オーバーライドされていませんか?)、スクリプト クラス 'text' に対して宣言された強制型はありません。

NSStringこれはおそらく、Cocoaオブジェクトを AppleScriptオブジェクトに変換できなかったことを意味しtextます。

新しいブール値のプロパティの 1 つから値を取得しようとすると、問題なく動作します。

NSStringオブジェクトを AppleScriptオブジェクトに変換するには、正確に何をする必要がありtextますか?

4

1 に答える 1