У меня две ситуации. Учитывая идентификатор трека песни, установите рейтинг в некоторое целое число. Второй такой же, за исключением того, что мне дан массив идентификаторов треков. Я знаю, что могу использовать ScriptingBridge для поиска объекта iTunesTrack на основе названия песни, но есть ли способ получить его на основе идентификатора дорожки? Что-то вроде:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSInteger *rating;
NSInteger *id;
if ( [iTunes isRunning] ) {
iTunesTrack *track = [ iTunes trackForDatabaseID:id ];
[ track setValue:rating forkey:@"rating" ];
}
Во второй ситуации, есть ли способ получить объект SBElementArray iTunesTrack с учетом массива идентификаторов дорожек? Что-то типа:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSArray *ids; //array of NSIntegers
if ( [iTunes isRunning] ) {
SBElementArray *tracks = [ iTunes tracksForDatabaseIDs:ids ];
[ tracks setValue:rating forkey:@"rating" ];
}
Я считаю, что это было бы более эффективно, чем итеративный поиск в библиотеке по названию песни.