私のアプリには、初歩的なアップルスクリプト機能があります。1 つのパラメーター (メッセージ) を受け取り、それをアプリに渡して処理する 1 つのメソッド (receivedInstantMessage) があります。
次のアップルスクリプト:
tell application "MyApp"
receivedInstantMessage "This is a message"
end tell
完璧に動作します。私のアプリは、メッセージ (「これはメッセージです」) を含むダイアログを表示します。
IM を iChat に送信すると、メッセージの内容をアプリに送信する AppleScript が実行されるように設定しようとしています。メッセージを受信したときにスクリプトを実行するように iChat に指示しましたが、その部分が機能していることはわかっています。現在使用しているスクリプトは機能しません。
using terms from application "iChat"
on message received theMessage from theBuddy for theChat
tell application "MyApp"
receivedInstantMessage theMessage
end tell
end message received
end using terms from
メッセージを受信しても何も起こりません。メッセージ変数 (theMessage) を iChat から置き換えて、任意の文字列を使用しても、何もしません。
私は何を間違っていますか。私はapplescriptにまったく慣れていません(通常はREALbasicコーダーです)。
[更新]: これは現在動作しているようです。Macを再起動するだけで問題が解決しました。非常に奇妙な...