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

通过iTunes,您可以创build任意嵌套的播放列表文件夹。 当您将这些播放列表文件夹复制到iOS设备时,iTunes能够检测到它们是文件夹,并允许您深入到最终获取歌曲的位置。 任何想法他们怎么做? 我一直在想这个好几天。

当我查询一个已知文件夹的特定persistentID时,我可以看到的与包含歌曲的播放列表不同的是:

  • playlist.mediaTypes = 4359(这是Music | Podcast | Audiobook | Movie | VideoiTunes),而正常的播放列表不会混合audiotypes和videotypes
  • 属性MPMediaPlaylistPropertyPlaylistAttributes的值包含2(MPMediaPlaylistAttributeSmart),而普通播放列表包含0
  • 项目数量将等于设备上的项目总数

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

苹果在iTunes上做,所以一定有办法。 他们是否使用一些私人API?

有以下未MPMediaPlaylist的属性,可以让你find你正在寻找使用MPMediaPlaylistvalueForProperty方法: @"isFolder" ,和@"parentPersistentID"

请注意,这些文件没有logging,也没有出现在任何头文件中,所以根据苹果的应用程序提交规则,使用它们可能会被视为使用“私有API”。

我向苹果公司发出了一个错误报告,要求将这些报告提供给头文件,并要求澄清他们是否被认为是私有API的一部分。