扫描iTunes资料库?

Sam*_*Sam 1 cocoa itunes objective-c

我正在使用Mac应用程序,我需要它来扫描用户的iTunes库.知道怎么回事吗?该应用程序将扫描库,寻找不同的歌曲属性.

Reg*_*ent 7

要查找iTunes资料库的实际最近位置(并且不希望它位于默认位置),请从中读取iTunesRecentDatabasesiTunesRecentDatabasePaths属性~/Library/Preferences/com.apple.iApps.plist.

NSArray *libraryDatabases = [[[NSUserDefaults standardUserDefaults] persistentDomainForName:@"com.apple.iApps"] objectForKey:@"iTunesRecentDatabases"];
NSURL *libraryURL = (([libraryDatabases count])) ? [NSURL URLWithString:[dbs objectAtIndex:0]] : nil;
Run Code Online (Sandbox Code Playgroud)

对于更高级的代码片断寻找parserInstancesForMediaType:互动媒体IMBiTunesParser.m


对于实际的数据库解析,建议使用SAX解析器,例如NSXMLParser(与树解析器相比,例如NSXMLDocument甚至更糟):NSPropertylistSerialization因为一些用户拥有最多甚至超过100,000个轨道的库.使用树解析甚至序列化将严重减慢并可能暂时阻止您的应用程序.