问题描述
我是Apple Music API和MediaPlayer框架的新手...我只是想从Apple Music API,BUT的搜索查询中获取歌曲,重要的是,无需用户订阅Apple Music。
我已经看到无数的应用程序能够搜索Apple Music歌曲,而无需征得用户同意他们的Apple Music或类似内容。
这是我当前的代码:
let predicate = MPMediaPropertyPredicate(value: "1459938538",forProperty: MPMediaItemPropertyAlbumPersistentID)
let iCloudPredicate = MPMediaPropertyPredicate(value: true,forProperty: MPMediaItemPropertyIsCloudItem)
let query = MPMediaQuery.albums()
query.filterPredicates = [predicate,iCloudPredicate]
let mp = MPMusicPlayerController.applicationMusicPlayer
mp.setQueue(with: query)
mp.play()
我出于测试目的仅将其放在viewController的ViewDidload中。这段代码的链接例如是针对网络Apple Music麦当娜专辑的。.(from this question)
我也曾就此事向苹果公司的WWDC 2017届会征询意见(https://developer.apple.com/videos/play/wwdc2017/502/)
那我该怎么做呢?问题中的答案是使用网络搜索Apple Music,但未提供任何解释或其他链接...
在此方面的任何帮助将不胜感激!谢谢!
解决方法
我不知道本机API,但是:Apple提供了可用于搜索的匿名访问Web API,这些API的历史可以追溯到iTunes Store:https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/iTuneSearchAPI/index.html
可以使用该API找到通过Apple Music可获得的歌曲。