检测设备上的iTunes播放列表文件夹

Big*_*ket 3 objective-c mpmediaquery ios

通过iTunes,您可以创建任意嵌套的播放列表文件夹.当您将这些播放列表文件夹复制到iOS设备时,iTunes可以检测到它们是文件夹,并允许您深入到最终获得歌曲的位置.知道他们是怎么做的吗?我一直在努力解决这个问题.

当我查询已知文件夹的特定持久性ID时,我能看到的与包含歌曲的播放列表不同的唯一内容是:

  • playlist.mediaTypes = 4359(这是音乐|播客|有声书|电影| VideoiTunes),而普通的播放列表不会混合音频类型和视频类型
  • 属性值MPMediaPlaylistPropertyPlaylistAttributes包含2(MPMediaPlaylistAttributeSmart),而普通播放列表包含0
  • 项目计数将等于设备上的项目总数

但是,就是这样!我没有看到任何方法来获取子文件夹.或者,当询问文件夹中包含的播放列表或子文件夹时,我看不到任何方法将其绑定到父文件夹.

Apple在iTunes中做到了,所以必须有办法.他们使用的是私有API吗?

小智 9

主要有以下几种无证特性,可以让你什么,你要寻找一个使用MPMediaPlaylistvalueForProperty方法:@"isFolder"@"parentPersistentID".

请注意,这些没有记录,也没有出现在任何头文件中,因此根据Apple的应用程序提交规则,使用它们可能会被视为使用"私有API".

我已经向Apple打开了一个错误报告,要求在头文件中提供这些报告,并要求澄清它们是否被认为是私有API的一部分.