我正在更新我的 OS X 程序以接受 iTunes 删除,修改文件中的元数据,然后刷新(获取信息)删除的文件,以便 iTunes 可以更新其元数据库。
我已经让 Drops 正常工作,它提供了有关文件的一些杂项信息的字典,包括轨道 ID、持久 ID 和位置。我现在需要通过文件位置或放置信息提供的持久 ID 来获取特定曲目,因此我可以调用其上的刷新方法来强制 iTunes 重新检查文件并更新更改到元数据。
我已经导入了 iTunes 头文件并创建了 SBApplication 对象,此时我非常困惑如何有效地获取正确的曲目。
如前所述,我已经可以访问有关 iTunes drop 提供的文件的一些信息。我需要根据拖放到 iTunes 库中的文件提供的文件名或持久 ID 来匹配有关该文件的信息,我的解决方案是针对 iTunes 脚本桥返回的库集合使用 iTunes 库上的谓词过滤器。
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
SBElementArray *sources = [iTunes sources];
SBElementArray *entireLibrary = [[[[sources objectAtIndex:0] libraryPlaylists] objectAtIndex:0] fileTracks];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"persistentID == %@", persistentID];
[entireLibrary filterUsingPredicate:predicate];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)