通过 iTunes,您可以创建任意嵌套深度的播放列表文件夹。当您将这些播放列表文件夹复制到您的 iOS 设备时,iTunes 能够检测到它们是文件夹,并允许您深入到最终获取歌曲的位置。知道他们是怎么做到的吗?这几天我一直在想办法解决这个问题。
当我查询已知文件夹的特定 persistentID 时,我能看到的与包含歌曲的播放列表不同的唯一内容是:
- playlist.mediaTypes = 4359(这是 Music|Podcast|Audiobook|Movie|VideoiTunes)而普通的播放列表不会混合音频类型和视频类型
- 属性 MPMediaPlaylistPropertyPlaylistAttributes 的值包含 2 (MPMediaPlaylistAttributeSmart),而普通播放列表包含 0
- 项目数将等于设备上的项目总数
但是,就是这样!我看不到任何方法可以访问子文件夹。或者,在询问文件夹中包含的播放列表或子文件夹时,我看不到任何将其与父级绑定的方法。
苹果在 iTunes 中做到了,所以一定有办法。他们是否使用了一些私有 API?