Установите начальное состояние кнопок или чего-либо еще и зарегистрируйте наблюдателя для распределенных уведомлений iTunes:
let center = DistributedNotificationCenter.default()
center.addObserver(self,
selector:#selector(updatePlayerInfo),
name:NSNotification.Name("com.apple.iTunes.playerInfo"),
object:nil)
Затем используйте соответствующие ключи в userInfo уведомления для обновления по мере продвижения:
@objc func updatePlayerInfo(_ notification: Notification) {
print(notification.userInfo?["Player State"] as! String) // example
}
Вы также можете добавить наблюдателей NSWorkspace, чтобы получать уведомления, если iTunes выходит из-под вас или чего-либо другого.