1

I'm trying to get local song list from iPod music library by MPMediaQuery:

MPMediaQuery *everything = [[MPMediaQuery alloc] init];
NSArray *itemsFromGenericQuery = [everything items];
self.songsList = [NSMutableArray arrayWithArray:itemsFromGenericQuery];

It always return nil. But I can actually pick up music from iPod music library by MPMediaPickerController. Why? Can any body help? Thanks.

Bagusflyer
  • 12,675
  • 21
  • 96
  • 179
  • 2
    `MPMediaQuery *everything = [MPMediaQuery songsQuery];`? And to get Local, you can use a predicate: http://stackoverflow.com/questions/19450392/mpmediaquery-to-return-local-items-only – Larme Oct 27 '15 at 10:10
  • @Zhou Hao Is there any way to search iTunes songs programmatically and get the song preview list. – Rajesh Maurya Jul 13 '17 at 05:05

1 Answers1

0

This works for me:

MPMediaQuery *mediaQuery = [MPMediaQuery songsQuery]; // run a query on song media type
[mediaQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:@(NO)
                   forProperty:MPMediaItemPropertyIsCloudItem]]; // ensure what we retrieve is on device
NSArray *mediaCollections = [mediaQuery collections]; // run query
Stunner
  • 12,025
  • 12
  • 86
  • 145