2016-11-06 68 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

相關問題