Установить статус в iChat с помощью iChatAgent программно - PullRequest
2 голосов
/ 02 марта 2012

Мое приложение изменяет статусы в iChat в соответствии с горячими клавишами пользователя, используя AppleScript.Все идет хорошо, но в случае, когда iChat не работает, у меня запущен «iChatAgent» с его значком в строке состояния;в моем доке нет значка iChat.

Так что в этом случае, если мое приложение отправляет команду AppleScript для изменения состояния iChat (tell application "iChat" set status blah-blah...), оно автоматически активирует iChat, и в Dock появляется значок iChat.Я не хочу активировать iChat.Мне не нужны никакие изменения в моем доке.Но мне нужно изменить статус iChat, когда он не работает.

Как я могу сделать это с помощью приложения в iChatAgent для изменения статуса?это вообще возможно?

1 Ответ

1 голос
/ 05 апреля 2012

iChatAgent - приложение фонового обмена сообщениями, используемое iChat 5, когда собственно iChat не запущен.На Snow Leopard с установленным FaceTime и на Lion он был заменен IMAgent (/System/Library/PrivateFrameworks/IMCore.framework/imagent.app/ - см. эту ветку обсуждения сообществ поддержки Apple для подтверждения).

Агенты не поддерживают AppleScript, и вы можете проверить их самостоятельно, попытавшись добавить их на панель словаря редактора AppleScript: вы получите сообщение об ошибке, указывающее, что приложение не поддерживает сценарии.Это означает, что сценарии могут предназначаться только для самого iChat, и, следовательно, вы не можете обойти запуск приложения, когда вы это делаете (это также относится к подключаемым модулям сценариев в iChat - они запускаются только во время работы приложения).

TL; DR: вы не можете установить состояние iChat через AppleScript без запуска iChat.app

...