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

时间:2012-07-03 02:34:19

标签: objective-c ios mpmediaquery

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

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

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

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

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

1 个答案:

答案 0 :(得分:9)

以下未记录的属性可以使用MPMediaPlaylist valueForProperty方法获取您所需的内容:@"isFolder"@"parentPersistentID"。< / p>

请注意,这些都没有记录,也没有出现在任何头文件中,因此使用它们可能会被视为使用私有API&#39;根据Apple的申请提交规则。

我已向Apple发布了一个错误报告,要求将这些报告提供给头文件,并要求澄清它们是否被视为私有API的一部分。