2016-05-18 6 views
0

Я пытаюсь получить доступ к информации о текущем состоянии приложения Mac, как если бы я работал с dbus на linux.Получить текущую информацию о приложении из App.sdef

Приложение, которое я пытаюсь сделать, это Spotify. Я просмотрел содержимое пакета, и обнаружил, что в каталоге/Resources находится файл Spotify.sdef. Я провел некоторое исследование этих «Определений сценариев», и я думаю, что есть способ получить доступ к данным, описанным в файле Spotify.sdef (т. Е. Название и информация о художнике). Возможно, я ошибаюсь, поскольку у меня нет опыта в разработке какао.

Я был бы очень признателен, если бы кто-то мог указать мне в правильном направлении на доступ к данным, которые, как я считаю, доступны из файла «Определение сценария» в содержимом пакета приложения. Моя конечная цель - увидеть, какая песня в данный момент воспроизводится в Spotify с помощью простой команды терминала.

ответ

1

Вы видели Spotify's AppleScript docs? Эта небольшая модификация примера должна делать то, что вы ищете:

#!/usr/bin/env osascript 

set currentlyPlayingTrack to getCurrentlyPlayingTrack() 
log currentlyPlayingTrack 

on getCurrentlyPlayingTrack() 
    tell application "Spotify" 
     set currentArtist to artist of current track as string 
     set currentTrack to name of current track as string 
     return currentArtist & " - " & currentTrack 
    end tell 
end getCurrentlyPlayingTrack