Xcodeプロジェクトに含まれるリソースのURLを、プロジェクトのディレクトリ(別名mainBundle)で始まるパスから取得する必要があります
したがって、。/ 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")
Swift 3の時点で、答えは:
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
}
}