2011-11-24 4 views
0

Я пытался получить расположение файла с текущей ITunes отслеживать с помощью этого сценария:Получить текущий трек местоположение файла на ITunes

on open info 
    tell application "iTunes" 
     set songLocation to get location of current track 
    end tell 
    return songLocation 
end open 

, а затем код:

desc = [_getFileLocScript runScript:someScript]; 
result = [desc stringValue]; 
NSLog (@"%@", result); //it shows null value. 
NSLog (@"%@", desc); //it shows some numbers and key "alis". 

Выход:

<NSAppleEventDescriptor: 'alis'($000000000232000200000A4C656F7......FFFF0000$)> 

Вопрос в том, что на самом деле вернулось из applescript iTunes для информации о местоположении этого файла?

ответ

1

Пути в стиле Applescript немного отличаются от того, как вы, вероятно, привыкли. Таким образом, проще всего было бы получить путь в стиле, который вы предпочитаете. Так что в вашем коде AppleScript я бы изменить вашу строку кода на это, чтобы получить косую строку с разделителями, например. /Users/username/Desktop/somefile.txt

return posix path of songLocation 

Затем, как только вы возвращенное значение в какао, вам может видеть, что desc является NSAppleEventDescriptor. Поэтому, если вы посмотрите, что в документах, вы увидите, что у него нет метода «stringValue», но он имеет метод «string», поэтому используйте его. В связи с этим измените свою линию на это ...

result = [desc string]; 
Смежные вопросы