如何访问存储在iOS设备上的音乐文件?
我的应用程序在查找iOS设备上音乐文件夹中的文件时遇到问题 如果文件作为应用程序数据保存在下面(在我的playpen中),则没有问题。但当我使用以下行查找“音乐”文件夹时:如何访问存储在iOS设备上的音乐文件?,ios,swift,Ios,Swift,我的应用程序在查找iOS设备上音乐文件夹中的文件时遇到问题 如果文件作为应用程序数据保存在下面(在我的playpen中),则没有问题。但当我使用以下行查找“音乐”文件夹时: dest_dir = try! FileManager.default.url(for: .musicDirectory, in: .allDomainsMask, appropriateFor: nil, create: false) musicDir = dest_dir if UIApplication.shar
dest_dir = try! FileManager.default.url(for: .musicDirectory, in: .allDomainsMask, appropriateFor: nil, create: false)
musicDir = dest_dir
if UIApplication.shared.canOpenURL(musicDir) {
print("found music directory")
}else {
print("did not find music directory")
}
当代码执行canOpenURL
时,我收到了权限投诉
我还尝试访问用户目录(以为我可以导航到音乐)
关于应用程序如何访问iOS设备上音乐系统文件夹下的文件和播放列表的任何线索?出于安全和隐私原因,iOS不允许您直接访问音乐文件夹;您需要在中使用API。假设您正在尝试播放用户库中的内容,请查看;您需要为其提供一些使用检索到的实例,然后从控制器上的调用方法使其播放内容。出于安全和隐私原因,iOS不允许您直接访问音乐文件夹;您需要在中使用API。假设您正在尝试播放用户库中的内容,请查看;您需要为其提供一些使用检索到的实例,然后从控制器上的调用方法,使其播放内容。iOS中没有“音乐文件夹”这样的东西。要访问用户的音乐库,请使用媒体播放器框架 示例(假设您已获得用户的必要授权): iOS中没有“音乐文件夹”这样的东西。要访问用户的音乐库,请使用媒体播放器框架 示例(假设您已获得用户的必要授权): 给你!(Swift 4.2) 按钮方法或@iAction按钮内部
let mediaItems = MPMediaQuery.songs().items
let mediaCollection = MPMediaItemCollection(items: mediaItems ?? [])
let player = MPMusicPlayerController.systemMusicPlayer
player.setQueue(with: mediaCollection)
player.play()
let picker = MPMediaPickerController(mediaTypes: .anyAudio)
picker.delegate = self
picker.allowsPickingMultipleItems = false
picker.prompt = "Choose a song"
present(picker, animated: true, completion: nil)
给你!(Swift 4.2)
按钮方法或@iAction按钮内部
let mediaItems = MPMediaQuery.songs().items
let mediaCollection = MPMediaItemCollection(items: mediaItems ?? [])
let player = MPMusicPlayerController.systemMusicPlayer
player.setQueue(with: mediaCollection)
player.play()
let picker = MPMediaPickerController(mediaTypes: .anyAudio)
picker.delegate = self
picker.allowsPickingMultipleItems = false
picker.prompt = "Choose a song"
present(picker, animated: true, completion: nil)
当我在我的模拟器中运行你的代码时,它会记录“找到音乐目录”很好。@Aaron:那是因为模拟器目前没有强制沙箱,这就是J.R.在这里运行的。我想我应该在评论之前彻底阅读这个问题。“playpen”把我甩了。没有“音乐文件夹”这样的东西。要访问用户的音乐库,请使用媒体播放器框架。当我在模拟器中运行您的代码时,它会记录“找到音乐目录”,这很好。@Aaron:这是因为模拟器目前没有强制沙盒,这正是J.R.在这里运行的。我想我应该在评论之前彻底阅读这个问题。“playpen”把我甩了。没有“音乐文件夹”这样的东西。要访问用户的音乐库,请使用媒体播放器框架。感谢应用程序的Info.plist必须包含一个NSAppleMusicUsageDescription键,该键带有一个字符串值,向用户解释应用程序如何使用这些数据。@Matian2049这就是我在回答中所说的“假设您已获得用户的必要授权”的意思。这里有更多示例代码:感谢提示。感谢应用程序的Info.plist必须包含一个NSAppleMusicUsageDescription密钥,该密钥带有一个字符串值,向用户解释应用程序如何使用这些数据。@Matian2049这就是我在回答中所说的“假设您已从用户处获得必要的授权”的意思。感谢您的提示。谢谢你的暗示。谢谢