我制作的音乐播放器应用可以访问和播放来自Apple Music和iOS音乐库的音乐和播放列表,我希望能够保存并重新加载用户的歌曲队列跨应用程序启动。如果歌曲本地存储在手机上,那么保存其MPMediaItem.persistentID就足够了,然后使用如下谓词加载项目:
let predicate = MPMediaPropertyPredicate(value: savedLocalID, forProperty: MPMediaItemPropertyPersistentID);
let songQuery = MPMediaQuery.init(filterPredicates: [predicate]);
但是,对于来自Apple音乐保存的播放列表的歌曲,他们的MPMediaItem.persistentID不会在应用启动时保留,并且无法将其加载为MPMediaItems。我希望MPMediaItem.playbackStoreID可以与MPMediaQuery以类似的方式使用,但是当我尝试使用MPMediaItemPropertyPlaybackStoreID创建谓词时,我得到错误" MPMediaPropertyPredicate无法使用playbackStoreID属性进行过滤。"任何想法如何从保存的MPMediaItem.playbackStoreID获取MPMediaItem,或者我错过的另一个属于非本地Apple Music文件的属性?谢谢!