我正在Swift 4中构建一个iOS应用程序,我正在尝试向用户Apple Music Library添加一首歌,我能够像我这样得到我的Apple音乐库:
mediaPicker = MPMediaPickerController(mediaTypes: .anyAudio)
mediaPicker?.showsCloudItems = false
mediaPicker?.showsItemsWithProtectedAssets = false
if let picker = mediaPicker{
picker.delegate = self
picker.allowsPickingMultipleItems = false
present(picker, animated: true, completion: nil)
}
但是可以将歌曲上传到用户Apple Music Library吗?
以下是我如何获取要添加到用户Apple Music Library的音频文件
let audioString = (result[0]["audio"] as! String).addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)
let audioUrl = URL(string:"http://example.com/uploads/" + audioString!)
Alamofire.request(audioUrl!).responseData { response in
do {
self.audio = try AVAudioPlayer(data: response.data!)
self.audio?.prepareToPlay()
}catch{
}
}
UPDATE
我发现了这个:https://stackoverflow.com/a/17433006/979331现在我有两个问题,如何将其转换为Swift,如果我使用ScriptingBridge,当我将我的应用程序提交到应用程序商店时,是否允许这样做?
MPMediaPickerController对象或媒体项选择器是一种专用视图控制器,可用于提供用于选择媒体项的图形界面。
这清楚表明MPMediaPickerController不能用于将歌曲上传到音乐库中。它旨在用于从用户媒体库中获取项目。
即使您将歌曲下载到您的应用程序中也是如此。您无法将其传输到音乐库。
希望这可以帮助。
Apple没有提供将歌曲直接上传到Apple Music库的任何规定。相反,您可以将您的歌曲本地保存在您的应用程序DocumentDirectory中以供以后使用。
有关更多信息,请参阅以下博客:
https://mobikul.com/play-audio-file-save-document-directory-ios-swift/