2012-07-03 95 views
3

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

当我查询已知文件夹的具体persistentID,唯一的东西,我可以看到它是从包含播放列表不同的歌曲有:

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

上,但是,仅此而已!我没有办法看到子文件夹。或者,当询问包含在文件夹中的播放列表或子文件夹时,我没有看到任何将其与父代绑定的方式。

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

回答

9

有以下未记录的属性可以帮助您找到使用MPMediaPlaylistvalueForProperty方法:@"isFolder"@"parentPersistentID"

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

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

+1

在iOS 8 GM上,我注意到播放列表文件夹根本不再从查询中出现。我已经尝试创建一个请求确切的播放列表持久ID的谓词,仍然没有运气。有关如何检索iOS 8上的播放列表文件夹的任何想法? – beebcon

相关问题