扫描iTunes资料库?

时间:2011-09-02 23:46:11

标签: objective-c cocoa itunes

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

1 个答案:

答案 0 :(得分:7)

要查找iTunes资料库的实际最新位置(并且不希望它位于默认位置),请阅读iTunesRecentDatabases中的iTunesRecentDatabasePaths~/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;

要获得更高级的代码段,请在 iMedia IMBiTunesParser.m

中查找parserInstancesForMediaType:

对于实际的数据库解析,建议使用SAX解析器,例如NSXMLParser(对比树解析器,例如NSXMLDocument或更糟糕的:NSPropertylistSerialization)用户拥有最多甚至超过100,000个曲目的图书馆。使用树解析甚至序列化将严重减慢并可能暂时阻止您的应用。

相关问题