从项目特定路径获取资源 URL
Get resource URL from project specific path
我需要通过从项目目录(又名 mainBundle)开始的路径检索我的 Xcode 项目中包含的资源的 URL
因此,如果我指定的路径是 ./snd/archer/acknowledge1.wav,我需要从中创建一个 URL。
我知道我可以将 NSURL(fileURLWithPath:)
用于系统目录,但我不知道如何直接从捆绑包中执行此操作。
您将使用其中一种捆绑资源 URL 方法
[[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")
截至Swift3,答案是:
Bundle.main.url(forResource: "acknowledge1", withExtension: "wav", subdirectory: "snd/archer")
在 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
}
}
我需要通过从项目目录(又名 mainBundle)开始的路径检索我的 Xcode 项目中包含的资源的 URL
因此,如果我指定的路径是 ./snd/archer/acknowledge1.wav,我需要从中创建一个 URL。
我知道我可以将 NSURL(fileURLWithPath:)
用于系统目录,但我不知道如何直接从捆绑包中执行此操作。
您将使用其中一种捆绑资源 URL 方法
[[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")
截至Swift3,答案是:
Bundle.main.url(forResource: "acknowledge1", withExtension: "wav", subdirectory: "snd/archer")
在 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
}
}