错误称为尝试获取Bundle URL

时间:2016-10-14 04:06:58

标签: ios swift xcode bundles

当我尝试获取音频文件的路径时,我收到错误。

let path = Bundle.main.path(forResource: "SaveALife", ofType: "mp3")!

在控制台中,我收到了这个:

Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

有任何帮助吗?感谢。

2 个答案:

答案 0 :(得分:1)

确保SaveALife.mp3应该在您的捆绑包中。此外,当您拖放文件时,请检查复制包资源。

答案 1 :(得分:0)

我将使用@Rob,你必须拼错资源名称或者文件不在包中。 通过提供"!"你是强制获取字符串路径,但由于文件不存在或由于拼写不匹配,在bundle中找不到文件,返回路径将为nil,并且由于"!"它试图打开导致崩溃的零。

所以解决方案是删除"!"如下所示

let path = Bundle.main.path(forResource: "SaveALife", ofType: "mp3")

否则如果你肯定想使用"!",你必须提供正确的资源路径并确认资源必须在捆绑包中。

希望它有所帮助。

快乐的编码......