코코아 스크립팅 브리지를 사용하여 새 사용자 재생 목록을 만들려고하지만 작동하지 않는 것 같습니다. 지금까지이 :스크립팅 브리지로 iTunes 재생 목록을 만듭니다
iTunesBridge [630 : 80F] 나는 시도하고 재생 목록의 이름을 추가하면
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]; }
, 나는 오류 메시지가 도착 *** - [SBProxyByClass에서는 setName을 :] : 개체가 아직 컨테이너에 추가되지 않았습니다. 선택자를 인식하지 못했습니다
올바른 방향으로 나를 가리킬 수 있습니까?
[소스 이름] isEqualToString : @ "Library"]'영어 이외의 시스템에서 테스트 했습니까? 깨지기 쉬운 것 같습니다 ... – Kornel
영어가 아닌 시스템에서는'([source kind] == iTunesESrcLibrary) '를 사용하십시오. – fabian789