2016-11-06 74 views
1

我的应用程序在查找iOS设备上音乐文件夹中的文件时遇到问题。如何访问存储在iOS设备上的音乐文件?

如果这些文件作为应用程序数据(在我的围栏中)保持在下面,则没有问题。但是,当我去寻找“音乐”文件夹,使用以下行:

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设备上音乐系统文件夹下的文件和播放列表的任何线索?

+0

当我在模拟器,它记录运行代码“发现音乐目录”就好了。 – Aaron

+0

@Aaron:那是因为模拟器目前不执行沙箱,这是J.R在这里遇到的问题。 –

+0

我想我应该在评论前彻底阅读这个问题。 “围栏”把我扔了。 – Aaron

回答

4

iOS中没有“音乐文件夹”这样的东西。要访问用户的音乐库,请使用Media Player框架。

实例(假设你已经获得来自用户的必要的授权):

let query = MPMediaQuery() 
let result = query.items 
+1

更多示例代码在这里:https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch16p678mediaQuery/ch29p946mediaQuery/ViewController.swift – matt

+0

欣赏提示。谢谢 –

+1

该应用程序的Info.plist必须包含一个带有字符串值的NSAppleMusicUsageDescription项,向用户解释应用程序如何使用此数据。 – Martian2049

相关问题