Swift 4 将歌曲上传到 Apple Music Library

Posted

技术标签:

【中文标题】Swift 4 将歌曲上传到 Apple Music Library【英文标题】:Swift 4 Upload song to Apple Music Library 【发布时间】:2018-07-13 20:46:12 【问题描述】:

我正在使用 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 音乐库?

这是我如何获取希望添加到用户 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
                    
                

更新

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

【问题讨论】:

添加赏金不会有帮助。 没有办法去做你要求做的事。您不能修改用户的音乐库。结束。句号。接受并继续前进。 这样怎么样? ***.com/a/17433006/979331如果我走这条路线并提交我的应用程序会被拒绝吗? 这是 MacOS 的答案。这是无关紧要的。你正在为 iOS 编程。你不会“走这条路”。你不能。我再说一遍,你不能以任何方式修改用户的音乐库。 好的,所以我想我要在我的应用程序 DocumentDirectory 中本地保存歌曲的路线?但是您能帮我确认一件事吗...通过将歌曲本地保存在应用程序文档目录中,我将能够离线收听歌曲?另外,Shazam 如何将歌曲添加到 Apple Music Library? "但是您能帮我确认一件事吗...通过将歌曲本地保存在应用程序文档目录中,我将能够离线收听歌曲?另外,Shazam 如何将歌曲添加到苹果音乐库?”如果您有新问题,请提出新问题。这里的讨论是关于你确实问的问题。 (我不知道 Shazam,所以我不知道你是否做出了错误的假设。但我向你保证,修改用户的音乐库不在你的权力范围内。它在 用户的力量。) 【参考方案1】:

根据Official Documentation

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

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

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

希望这会有所帮助。

【讨论】:

还有其他方法可以将歌曲传输到音乐库吗? 没有公开的文档 API 可以让我们这样做。通常,此功能可在需要越狱的应用程序中找到。很抱歉,但不幸的是,这是不可能的。【参考方案2】:

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

有关更多信息,您可以参考以下博客:

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

【讨论】:

以上是关于Swift 4 将歌曲上传到 Apple Music Library的主要内容,如果未能解决你的问题,请参考以下文章

将本地歌曲上传到网易音乐云盘的方法

如何使用 alamofire 将多个 PDF 文件上传到服务器? #Swift 4 #IOS [重复]

是否可以将Swift 4.1添加到Xcode 10中

你好!怎么把自唱的视频歌曲上传到优酷网

FacebookLoginSKK 4 Apple Mach-O链接器错误

无法将应用程序上传到 iTunes Connect