Swift 开发过程中资源文件去了哪里?

Joy*_*ker 5 audio macos resources bundle ios

let path = Bundle.main.path(forResource: "bang.wav", ofType:nil)!
let url = URL(fileURLWithPath: path)
let sound = try AVAudioPlayer(contentsOf: url)
Run Code Online (Sandbox Code Playgroud)

我发现了这个很好的播放声音的示例代码。那里没有回答问题:在开发和调试过程中,bang.wav 需要位于哪里才能被 Bundle.main.path 找到?如果 MacOS 和 iOS 的答案不同,那么两者都值得关注。

Osk*_*kar 4

捆绑包资源位于子目录中/Contents/Resources,也可以包含在子目录中。该功能.path(forResource:)会自动为您找到它。

只要将您的文件拖放到 Xcode 项目中,就会添加一个构建阶段条目,该条目会自动将您的文件复制到捆绑资源文件夹中。