[英]Swift: NSBundle always set to nil when trying to set to filePath
我正在尝试使用NSBundle设置filePath,即使在显式声明filePath返回nil时也是如此
var filePath = NSBundle.mainBundle().pathForResource("song", ofType: "mp3", inDirectory: "/Users/name/iOS/project")
我想将文件路径传递到AVAudioPlayer进行播放,我必须做一些错误,简单明了
NSBundle.mainBundle()引用您的应用程序捆绑包。 应用程序主捆绑包是存储在用户设备上的目录,其中包含您的应用程序可执行文件以及所有应用程序资源(nib文件,图像以及随应用程序一起提供的任何内容)。
若要完成您想要做的事情,请执行以下操作:
将文件“ song.mp3”拖放到Xcode中的项目中,并确保将其添加到目标中。 这将确保Xcode在构建应用程序时将该文件包含在应用程序包中。
将上面的代码更改为
让filePath = NSBundle.mainBundle()。pathForResource(“ song”,ofType:“ mp3”)
执行此行代码后,它将在应用程序捆绑包中查找song.mp3并返回其路径。 此路径是运行应用程序的设备上的路径,而不是您在开发计算机上存储文件的路径。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.