无法使用Bundle主网址

时间:2017-09-30 05:36:10

标签: ios xcode bundle

我试图使用AudioToolBox库播放一些小的.wav文件,但是我无法获取我拖入项目文件夹的文件的URL(包含类的文件夹等) 。)

if let soundUrl = Bundle.main.url(forResource: name, withExtension: "wav") {
    //make use of AudioServicesCreateSystemSoundID...
}
else {
    print("sound wasn't found")
}

我尝试了所有可能的拖动组合到xcode(如果需要复制它,创建组,创建文件夹引用),并经常我清理项目,但仍然总是得到"声音没有找到&# 34 ;.我真的不知道要提供什么信息,但是我的方法在几天前就开始工作了,然后它突然停止了......

PS:不确定它是否是有用的信息,但我在Bundle.main.bundlePath上打印了文件列表,但我没有找到我想要的任何文件,尽管它们都出现在列表中左边的文件(包含代码,xcassets,Main.storyboard等)

3 个答案:

答案 0 :(得分:9)

  • 点击您的某个wav文件
  • 在右侧,会有一个选项列表
  • 此列表的最后一个选项是名为目标成员
  • 的标签
  • 检查您选择的此wav文件是否将当前项目标记为目标

希望有所帮助:)

答案 1 :(得分:0)

在这种情况下,丹尼尔(Daniel)的答案是正确的。但是,由于代码位于项目工作区中的框架包中,因此也会出现此消息。在这种情况下,Bundle.main将为您提供主项目捆绑包,而您应改用其他捆绑包构造函数,例如Bundle(identifier: <id>)Bundle(for: type(of: <object>))(其中object是出现的类在您要从中加载的包中。

答案 2 :(得分:0)

如果任何人在使用react native时遇到此错误,请确保已将模型添加到xcode工作区(xcode->项目的左侧菜单->将文件添加到“ Yout Prj”->选择文件)。当我在vs代码中添加模型并且xcode不知道在哪里找到时,我遇到了这个错误。