当目录和文件名正确时,Bundle.main.path(forResource:ofType:inDirectory :)返回nil

时间:2018-07-04 03:30:34

标签: ios swift

let audioPath = Bundle.main.path(forResource: songs[indexPath.row], ofType: ".mp3", inDirectory: "Songs")!

返回零。 songs [indexPath.row]返回正确的名称,因为它恰好位于名为“ Songs”的文件夹中。歌曲文件夹为蓝色,并在我的构建阶段正确显示->复制捆绑资源

1 个答案:

答案 0 :(得分:2)

我在上面的评论中回答了,但我应该去这个地方上传图片并再次回顾一下我的观点:

  • 确保删除点.mp3而不是.mp3

  • songs[indexPath.row] value 不能为可选值,因为它可能导致这样的字符串:Optional(MyFileName),并且该值不得包含扩展名{{1 }},仅文件名。

  • 请看下面的图片,如果您不是.mp3等效项在File Inspector列表中被选择,则Bundle.main可能是audioPath。因此,您必须检查它们的所有mp3文件。

enter image description here