我在名为Sounds
的XCode中的主项目文件夹下创建了一个目录。
然后我将wav
类型的8个音频文件拖到Sounds
文件夹中。
我确保在对话框提示时检查Copy items if needed
。
我目前正在尝试检索位于wav
目录中的所有Sounds
个文件的列表。
我尝试过多种不同的方式,但下面是最新的方式。
Bundle.main.paths(forResourcesOfType: "wav", inDirectory: "Sounds")
上面的代码,以及我的其他尝试都产生了nil
或空数组。
所以我的问题是,如何从wav
目录中检索Sounds
类型的所有文件的列表?
此外,我对iOS目录结构有点不清楚。
例如,位于Bundle.main
的目录列表与DocumentDirectory
之间的差异是什么?
我编辑了我的问题,因为我错误地暗示Sounds
文件夹位于根目录中。
答案 0 :(得分:3)
我在项目的根目录中创建了一个名为Sounds
的目录
那听起来像问题就在那里。您需要一个文件夹引用 - 而是创建了一个组。
这是正确的程序:
在其他地方创建一个文件夹 - 例如,在桌面上 - 名称Sounds。将该文件夹拖到项目窗口的项目导航器中,当您这样做时,请仔细查看出现的对话框。你需要它看起来像这样(注意关键的指定为文件夹引用):
你会知道你做得对,因为项目导航器中的文件夹图标将是蓝色:
通过检查Sounds文件夹出现在Copy Bundle Resource构建阶段,确认您已经完成了这项工作:
现在您的策略将起作用:将文件从Finder拖到项目导航器中的蓝色文件夹中,它们将被复制到真正的“Sounds”文件夹中。 “Sounds”文件夹本身将在构建时复制到您的应用程序包中,您可以使用普通的FileManager方法在代码中引用其内容。