Я пытаюсь прочитать текущий воспроизводимый трек iTunes с помощью ScriptingBridge.Я нашел здесь несколько других тем, но никто, кажется, не работает для меня (macOS Mojave и iTunes 12.9.4).
Я создал файл iTunes.h, используя следующую команду:
sdef /Applications/iTunes.app | sdp -fh --basename "iTunes"
Я создаю экземпляр Scripting Bridge следующим образом:
if let itunes: AnyObject = SBApplication(bundleIdentifier: "com.apple.iTunes")
{
if itunes.isRunning
{
Swift.print("iTunes is running...")
}
Swift.print(itunes.currentTrack?.name)
Swift.print(itunes.currentTrack?.album)
}
Код компилируется нормально.Когда я запускаю код, я получаю следующий вывод:
iTunes is running...
nil
nil
CurrentTrack равен нулю, но iTunes воспроизводит песню.Что мне здесь не хватает?Я уже пытался отключить песочницу, но безрезультатно.Я использую MacOS Mojave, Xcode 10.2 и iTunes 12.9.4.Кроме того, когда iTunes не работает, он будет запущен?Почему?
Есть ли другой способ получить воспроизводящуюся в настоящее время песню iTunes?