Swift:尝试设置为filePath时,NSBundle始终设置为nil

时间:2015-03-07 23:50:16

标签: ios xcode swift

我尝试使用NSBundle设置filePath,即使明确声明filePath它返回nil

var filePath = NSBundle.mainBundle().pathForResource("song", ofType: "mp3", inDirectory: "/Users/name/iOS/project")

我想将文件路径传递给AVAudioPlayer进行播放,我必须做错事,这很简单明了

1 个答案:

答案 0 :(得分:1)

NSBundle.mainBundle()引用您的应用程序包。应用程序主包是存储在用户设备上的目录,其中包含您的应用程序可执行文件以及所有应用程序资源(笔尖文件,图像,随应用程序一起提供的任何内容)。

要完成您想要执行的操作,请执行以下操作:

  1. 拖放文件" song.mp3"进入Xcode中的项目并确保它已添加到您的目标中。这将确保Xcode在您构建应用程序时将此文件包含在应用程序包中。

  2. 将上面的代码更改为

    让filePath = NSBundle.mainBundle()。pathForResource(" song",ofType:" mp3")

  3. 当这行代码执行时,它会在你的应用程序包中查找song.mp3并返回它的路径。此路径是您运行应用程序的设备上的路径,它不是您在开发计算机上存储文件的过程。

    希望这会有所帮助。