获取Swift中子目录中资源的所有URL

我正在尝试为我的iOS应用程序中的子目录中的所有资源创建一个URL数组。 我似乎无法找到正确的路径,我希望能够检索URL,即使我不知道名称(即我不想将文件名硬编码到代码中)。

下面是层次结构的屏幕截图,我试图获取’test’文件夹中的所有文件: 在此处输入图像描述

非常感谢任何帮助,我试图使用文件管理器和捆绑主路径,但到目前为止没有任何喜悦。

这是我目前唯一的代码:

let fileManager = FileManager.default let path = Bundle.main.urls(forResourcesWithExtension: "pdf", subdirectory: "Files/test") print(path) 

我也试过这段代码,但这打印了所有资源,我似乎无法指定一个子目录:

 let fm = FileManager.default let path = Bundle.main.resourcePath! do { let items = try fm.contentsOfDirectory(atPath: path) for item in items { print("Found \(item)") } } catch { // failed to read directory – bad permissions, perhaps? } 

根据@vadian的回答,文件夹从虚拟组更改为真实文件夹。 使用以下代码,我能够获得资源列表:

 let fileManager = FileManager.default let path = Bundle.main.resourcePath let enumerator:FileManager.DirectoryEnumerator = fileManager.enumerator(atPath: "\(path!)/Files/test")! while let element = enumerator.nextObject() as? String { if element.hasSuffix("pdf") || element.hasSuffix("jpg") { // checks the extension print(element) } } 

考虑一下黄色文件夹 在此处输入图像描述 是虚拟 ,而不是真正的文件夹(尽管Xcode在项目目录中创建了真正的文件夹)。 构建应用程序时,黄色文件夹中的所有文件都将移动到包中的Resources目录中。

捆绑中的真实文件夹是 在此处输入图像描述 在项目导航器中。