Say I have an iOS music library with this playlist structure:
A Folder
|
---> A Playlist
|
---> Song A
I run the following code:
import MediaPlayer
let playlists = MPMediaQuery.playlists().collections! as! [MPMediaPlaylist]
for playlist in playlists {
let firstItemName = playlist.items.first?.title ?? "none"
print("playlist: \(playlist.name!), first item: \"\(firstItemName)\"")
}
and I get this console output:
playlist: A Playlist, first item: "Song A"
playlist: A Folder, first item: "Song A"
I've looked through all of the MediaPlayer framework documentation, and can't find any way to discover the parent/child relationship between the playlist and the folder through the API (or even to tell that a collection contains other collections). I'd like to present A Playlist only after a user has browsed through A Folder, rather than showing them as siblings (or maybe even filter out A Folder altogether.
Also, the folder and the playlist both have the same class at runtime: MPConcreteMediaPlaylist
.