我需要通过从项目目录(又名mainBundle)开始的路径检索我的Xcode项目中包含的资源的URL
所以如果我的指定路径是./snd/archer/acknowledge1.wav,我需要从中创建一个URL。
我知道我可以将NSURL(fileURLWithPath:)
用于系统目录,但我不知道如何直接从捆绑中执行此操作。
答案 0 :(得分:29)
截至Swift 3,答案是:
Bundle.main.url(forResource: "acknowledge1", withExtension: "wav", subdirectory: "snd/archer")
答案 1 :(得分:17)
您将使用其中一个捆绑资源网址方法
[[NSBundle mainBundle] URLForResource:@"acknowledge1"
withExtension:@"wav"
subdirectory:@"snd/archer"];
NSBundle.mainBundle().URLForResource("acknowledge1", withExtension:"wav" subdirectory:"snd/archer")
在最新的Swift中:
Bundle.main.url(forResource: "acknowledge1", withExtension:"wav")
答案 2 :(得分:1)
在Swift 2.3中,您必须使用此解包:
if let resourceUrl = NSBundle.mainBundle().URLForResource("acknowledge1", withExtension: "wav", subdirectory:"snd/archer") {
if NSFileManager.defaultManager().fileExistsAtPath(resourceUrl.path!) {
print("file found")
//do stuff
}
}