Я хочу использовать Мост Сценариев для добавления фильма к iTunes. И предпочтительно разрешение мне выбрать между 'музыкальным видео' и 'фильмом'. Я знаю и Objective C и AppleScript, таким образом, я думал, что не случится так, что трудно, но я не могу понять это. Я знаю, как я использовал бы NSAppleScript для него, но я нацелен 10.5 или позже и читаю тот obsoletes NSAppleScript Моста Сценариев. Это правильно?
Все, что я получил,
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier: @"com.apple.iTunes"];
Который является, как Вы видите, не очень вообще.
Вы должны использовать программу "scripting definition processor" (sdp
) для создания заголовочного файла из файла iTunes scripting definition (.sdef
) (который вы можете получить с помощью программы sdef
):
sdef /Applications/iTunes.app | sdp -fh --basename "iTunes"
Это даст вам файл под названием iTunes.h
. Затем вы включаете этот заголовок в свой проект и читаете его, чтобы увидеть, что предлагает интерфейс скриптового моста iTunes.
Если кажется, что вы не сможете сделать это с помощью скриптового моста (это возможно - не все, что можно сделать через интерфейс AppleScript приложения, можно сделать и через скриптовый мост), просто напишите AppleScript для этого, а затем выполните его в своей программе с помощью NSAppleScript
.
Шаг 1. Создайте файл заголовка iTunes.h
:
sdef /Applications/iTunes.app | sdp -fh --basename "iTunes"
Шаг 2. Код для добавления файла мультимедиа выглядит следующим образом:
NSString* sourceMediaFile = ...;
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
iTunesTrack * track = [iTunes add:[NSArray arrayWithObject:[NSURL fileURLWithPath:sourceMediaFile]] to:nil];
NSLog(@"Added %@ to track: %@",sourceMediaFile,track);
В качестве второго параметра требуется объект списка воспроизведения (или nil, как упоминалось ранее). После того, как вы получили экземпляр объекта iTunesPlaylist * каким-либо способом (их несколько в зависимости от ваших потребностей), вы можете передать его в качестве второго параметра.