无法访问 ios 捆绑资源

Posted

技术标签:

【中文标题】无法访问 ios 捆绑资源【英文标题】:can't access ios bundle resource 【发布时间】:2020-06-28 03:35:28 【问题描述】:

我正在使用 XCode 11.3.1 将我的第一个 .wav 文件添加到我的 ios 项目中。我尝试了各种方法来访问此资源:

let fileURL = Bundle.main.url(forResource: "greetings.wav", withExtension: nil)
let fileURL = Bundle.main.url(forResource: "greetings", withExtension: "wav")
let fileURL = Bundle.main.path(forResource: "greetings", ofType: "wav")

在所有这些情况下,fileURL 都是 nil。我尝试过的其他事情:

当我在 Project Navigator 中单击 .wav 时,我看到我的目标检查了 Target Membership。 我已确保 greetings.wav 与执行上述语句的 ViewController 位于同一文件夹中。 添加此资源时,我还尝试了“复制到组”和“复制到文件夹引用”

目前还没有产生非零文件URL。任何帮助/其他故障排除,以便我可以获得我的 .wav 文件的有效 URL,将不胜感激!谢谢。

【问题讨论】:

【参考方案1】:

检查您的文件是否在构建设置下的 Copy Bundle Resources 中可用

【讨论】:

是的,我的文件在 Copy Bundle Resources 下可见。它表示它在一个文件夹中。此文件夹还包含我的 viewController 上面的代码所在的位置。构建 url 时是否还需要指定子目录?【参考方案2】:

在这里提供可能的建议:

检查是否已导入 AVFoundation 模块 检查您的资源是否名为“greetings.wav”

【讨论】:

谢谢,但 AVFoundation 已经导入,资源在文件检查器中称为 greetings.wav。

以上是关于无法访问 ios 捆绑资源的主要内容,如果未能解决你的问题,请参考以下文章

无法从 pod 库访问捆绑包

访问捆绑包上的资源[重复]

我可以在包中嵌入自定义字体并从 ios 框架访问它吗?

无法使用 NSURL 访问本地资源。奇怪的

无法复制,因为您无权访问 ios 中的应用程序包

iOS/Javascript - 如何使用 Javascript 访问设备上的图像