iOS Music Library: How to tell if a given Playlist is a folder
up vote
2
down vote
favorite
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
.
ios swift mpmediaquery mpmediaitemcollection
add a comment |
up vote
2
down vote
favorite
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
.
ios swift mpmediaquery mpmediaitemcollection
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
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
.
ios swift mpmediaquery mpmediaitemcollection
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
.
ios swift mpmediaquery mpmediaitemcollection
ios swift mpmediaquery mpmediaitemcollection
edited Nov 9 at 21:59
asked Nov 8 at 21:58
Dov
7,935854131
7,935854131
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53216781%2fios-music-library-how-to-tell-if-a-given-playlist-is-a-folder%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown