Swift 4将歌曲上传到Apple Music Library

时间:2018-07-13 20:46:12

标签: ios swift

我正在Swift 4中构建一个iOS应用,并且尝试向用户Apple Music Library添加一首歌曲,我可以像这样获得Apple Music Library:

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库的音频文件的方式

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{
                    }
                }

更新

我发现了这个问题:https://stackoverflow.com/a/17433006/979331现在有2个问题,如何将其转换为Swift,如果我使用ScriptingBridge,则在将我的应用提交到应用商店时会被允许吗?

2 个答案:

答案 0 :(得分:7)

根据Official Documentation

MPMediaPickerController 对象或媒体项目选择器是一种专用的视图控制器,您可以使用它为选择媒体项目提供图形界面。

这清楚表明 MPMediaPickerController 不能用于将歌曲上传到音乐库。它旨在用于从用户媒体库中提取项目。

因此,即使您将歌曲下载到应用程序中。您无法将其传输到音乐库。

希望这会有所帮助。

答案 1 :(得分:2)

Apple没有提供任何将歌曲直接上传到Apple Music库的条款。而是可以将歌曲本地保存在应用程序DocumentDirectory中,以备后用。

有关更多信息,您可以在下面的博客中引用它:

https://mobikul.com/play-audio-file-save-document-directory-ios-swift/