我在 10.5 中遇到了 Scripting Bridge 框架的问题。具体来说,我使用这段代码在 iTunes 中创建一个新的用户播放列表:
NSDictionary *propertiesDict = [NSDictionary dictionaryWithObject:@"playlistName" forKey:@"name"];
playlistToReturn = (iTunesUserPlaylist*)[[[iTunesApp classForScriptingClass:@"user playlist"] alloc] initWithProperties:propertiesDict];
SBElementArray *sourcesArray = [iTunesApp sources];
iTunesSource *librarySource = [sourcesArray objectAtIndex:0];
SBElementArray *userPlaylistsArray = [librarySource userPlaylists];
[userPlaylistsArray addObject:playlistToReturn];
此代码在 10.6 中运行良好。播放列表已正确创建,我可以稍后将歌曲添加到其中。
但是,在 10.5 上,会生成错误:
Apple event:'core'\'crel'{
'kocl':'cUsP',
'insh':'insl'{
'kobj':'obj '{
'want':'cUsP',
'from':'obj '{
'want':'cSrc',
'from':'null'(),
'form':'ID ',
'seld':42 },
'form':'indx',
'seld':'abso'($206C6C61$) },
'kpos':'end ' },
'prdt':{
'pnam':'utxt'("playlistName") }
};
Error Domain=SBError Code=-10014 UserInfo=0x152c8cb0 "Operation could not be completed. (SBError error -10014.)"
为什么?