Реализация SIMBL - почему загружается плагин SIMBL? - PullRequest
1 голос
/ 24 июня 2011

В исходном коде агента SIMBL есть несколько кодов, которые отправляют события Apple в целевое приложение.Это как:

[app setSendMode:kAEWaitReply | kAENeverInteract | kAEDontRecord];
id initReply = [app sendEvent:kASAppleScriptSuite id:kGetAEUT parameters:0];

и

[app setSendMode:kAENoReply | kAENeverInteract | kAEDontRecord];
id injectReply = [app sendEvent:'SIMe' id:eventID parameters:0];

Я понятия не имею, почему целевое приложение загружает плагины SIMBL после этого триггера.Кажется, это очень хакерский способ, и трудно получить помощь из официальных документов.

1 Ответ

1 голос
/ 14 июля 2011

Я знаю, что сейчас происходит. SIMBL использует Apple Event (класс: kASAppleScriptSuite, тип: kGetAEUT), заставляя приложение загружать дополнение скрипта. В добавлении есть предопределенный Apple Script Handler для загрузки плагинов в директории SIMBL. Поэтому SIMBL отправляет 2 события Apple, чтобы сделать это. , когда приложение запущено.

...