Я пытаюсь запросить свойство playerState в iTunes, пока оно открыто.Вот начальная версия:
var itunes = Application('iTunes')
while (true) {
if (itunes.running()) {
console.log(itunes.playerState())
}
delay(0.01)
}
Проблема с приведенным выше кодом заключается в том, что он препятствует правильному закрытию iTunes (как при щелчке правой кнопкой мыши -> Выйти).Я считаю, что это происходит потому, что получение свойства playerState
вызывает вызов для запуска iTunes.(Без защиты itunes.running()
iTunes запустится сразу после запуска скрипта.)
Увеличение delay
- это обходной путь, который уменьшает вероятность того, что iTunes останется открытым после выхода, но не заставляетноль или действительно решить проблему.
Я вижу два пути решения:
- Есть ли способ получить доступ к свойствам приложения без побочного эффекта запуска приложения?(Достоверно уверен, что ответ на этот вопрос в настоящее время нет.)
- Может ли AppleScript запросить, получило ли приложение сигнал SIGTERM / SIGKILL?Или знаете, что приложение находится в фазе «выхода»?