Estoy tratando de crear una nueva lista de reproducción de usuario utilizando el puente de secuencias de comandos de cacao, pero parece que no puede hacer que funcione. Que tengo hasta ahora:crear lista de reproducción de iTunes con scripting bridge
iTunesApplication *iTunes = [SBApplication
applicationWithBundleIdentifier:@"com.apple.iTunes"];
SBElementArray *iSources = [iTunes sources];
iTunesSource *library = nil;
for (iTunesSource *source in iSources) {
if ([[source name] isEqualToString:@"Library"]) {
library = source;
break;
}
}
// could not find the itunes library
if (!library) {
NSLog(@"Could not connect to the iTunes library");
return;
}
// now look for our playlist
NSString *playlistName = @"new playlist";
SBElementArray *playlists = [library userPlaylists];
iTunesUserPlaylist *playlist = nil;
for (iTunesUserPlaylist *thisList in playlists) {
if ([[thisList name] isEqualToString:playlistName]) {
playlist = thisList;
break;
}
}
// if the playlist was not found, create it
if (!playlist) {
playlist = [[[iTunes classForScriptingClass:@"playlist"] alloc] init];
[playlist setName:playlistName];
[[library userPlaylists] insertObject:playlist atIndex:0];
}
Cuando intento y añadir un nombre para la lista de reproducción, me sale el mensaje de error:
iTunesBridge [630: 80F] *** - [SBProxyByClass setName:] : el objeto aún no se ha agregado a un contenedor; selector no reconocido
¿Alguien puede indicarme la dirección correcta?
'[nombre de fuente] isEqualToString: @" Library "]' ¿ha probado eso en sistemas que no están en inglés? Parece frágil ... – Kornel
En sistemas no ingleses, debe usar '([tipo de fuente] == iTunesESrcLibrary)' – fabian789