2016-10-14 24 views
0

当我尝试获取音频文件的路径时,出现错误。错误称为试图获取捆绑的URL

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

在控制台我收到此:

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

任何帮助吗?谢谢。

+0

听起来像它没有在你的包中找到它。你是否加倍检查并确认这实际上是该目标的一部分?另外,大写字母是正确的吗?设备区分大小写。 – Rob

+0

尝试'Bundle.main.url(forResource:“SaveALife”,withExtension:“mp3”)' –

+0

可能重复[从项目特定路径获取资源URL](http://stackoverflow.com/questions/33591305/get-资源的URL,从项目专用路) –

回答

0

我会去@Rob,你必须拼写错误的资源名称或文件不在捆绑中。 并提供“!”你迫使得到字符串路径,但由于文件不存在或者由于拼写不匹配,文件未在捆绑中找到,返回路径将为零,并且由于“!”它试图解开导致崩溃的零。

所以解决方法是删除“!”像下面

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

否则,如果你一定要使用“!”,你必须得给正确的资源路径,并确认资源必须有在包。

希望它有帮助。

快乐编码...

1

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