Swift 4将歌曲上传到Apple Music Library

use*_*331 7 ios swift

我正在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)
        }
Run Code Online (Sandbox Code Playgroud)

但是可以将歌曲上传到用户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{
                    }
                }
Run Code Online (Sandbox Code Playgroud)

UPDATE

我找到了这个:https://stackoverflow.com/a/17433006/979331现在我有两个问题,我如何将其转换为Swift,如果我使用ScriptingBridge,当我将我的应用程序提交到应用程序商店时,这是允许的吗?

Md.*_*san 7

根据官方文件

一个MPMediaPickerController对象,或者媒体项目选择器,是你聘请为提供图形界面的专用视图控制器选择媒体项目.

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

即使您将歌曲下载到您的应用程序中也是如此.您无法将其传输到音乐库.

希望这可以帮助.


Abi*_*ian 2

苹果没有提供任何将歌曲直接上传到 Apple Music 库的规定。相反,您可以将歌曲本地保存在应用程序 DocumentDirectory 中以供以后使用。

欲了解更多信息,您可以参考以下博客:

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