Через iTunes вы можете создавать папки списков воспроизведения с произвольной глубиной вложенности. Когда вы копируете эти папки плейлистов на свое устройство iOS, iTunes определяет, что это папки, и позволяет вам перейти к точке, где вы в конечном итоге получите песни. Есть идеи, как они это делают? Я пытался понять это несколько дней.
Когда я запрашиваю конкретный persistentID известной папки, единственное, что я вижу в нем, что отличается от списка воспроизведения, содержащего песни:
- playlist.mediaTypes = 4359 (это Музыка | Подкаст | Аудиокнига | Фильм | VideoiTunes), тогда как обычный список воспроизведения не будет смешивать типы аудио и типы видео.
- значение свойства MPMediaPlaylistPropertyPlaylistAttributes содержит 2 (MPMediaPlaylistAttributeSmart), тогда как обычный список воспроизведения содержит 0
- количество предметов будет равно общему количеству предметов на устройстве
Но это все! Я не вижу способа добраться до подпапок. Или, когда я запрашиваю список воспроизведения или подпапку, содержащуюся в папке, я не вижу способа привязать ее к родительской.
Apple делает это в iTunes, так что способ должен быть. Они используют какой-то частный API?