How Do You Obtain the “Purchase Date” or “Date Add

2020-02-12 12:10发布

问题:

As users download new songs into their iPod Music library from the iTunes Store, I would like to programmatically list those songs in a table view. Is it possible to obtain the "Date Added" or "Purchase Date" from the MPMediaItemCollection? I see there are property keys such as play count and last played date. I know the data exists because it can be viewed in iTunes, but I am not finding it. Any suggestions on where to find this or how to derive it?

回答1:

As you can see in Apple Documentation for MPMediaItem http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMediaItem_ClassReference/Reference/Reference.html#//apple_ref/occ/cl/MPMediaItem, you access all the properties through enumerateValuesForProperties:usingBlock: or valueForProperty:, but there isn't a property for Date Added or Purchased Date informations.

This doesn't mean that the data isn't stored somewhere (surely it is): this just means that you cannot access that information through public APIs, maybe for privacy issues.

I don't know anyway if there is a way to obtain this information through some private API calls, but if it exists you can't use it for AppStore apps because it will cause you a rejection during review process.



回答2:

As of iOS 10 it appears we have access to two dateAdded properties.

Note: iOS 10 is still in beta (4) at time of writing so things could change.

As a Date object:

MPMediaItem.dateAdded

and as a String:

MPMediaItemPropertyDateAdded

source: https://developer.apple.com/library/prerelease/content/releasenotes/General/iOS10APIDiffs/Objective-C/MediaPlayer.html