【问题标题】:Error called trying to get Bundle URL尝试获取捆绑 URL 时调用的错误
【发布时间】:2017-02-23 09:22:45
【问题描述】:

当我尝试获取我拥有的音频文件的路径时遇到错误。

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

在控制台我收到这个:

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

有什么帮助吗?谢谢。

【问题讨论】:

  • 听起来好像没有在您的捆绑包中找到它。您是否仔细检查并确认这实际上是该目标的一部分?另外,大小写对吗?设备区分大小写。
  • 试试Bundle.main.url(forResource: "SaveALife", withExtension: "mp3")

标签: ios swift xcode bundles


【解决方案1】:

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

【讨论】:

  • 我做到了,仍然崩溃。
  • 它在你的目标中吗?
【解决方案2】:

我会选择@Rob,您一定是资源名称拼写错误,或者该文件不在捆绑包中。 并通过提供“!”您强制获取字符串路径,但由于文件不存在或由于拼写不匹配,在捆绑包中找不到文件,返回路径将为 nil,并且由于“!”它试图解开导致崩溃的 nil 。

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

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

或者如果你确定要使用“!”,你必须提供正确的资源路径并确认资源必须在包中。

希望对你有帮助。

编码愉快...

【讨论】:

    猜你喜欢
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多