J'ai besoin de récupérer l'URL d'une ressource contenue dans mon projet Xcode via un chemin qui commence dans le répertoire du projet (aka mainBundle)
Donc, si mon chemin spécifié est ./snd/archer/acknowledge1.wav, je dois créer une URL à partir de cela.
Je sais que je peux utiliser NSURL(fileURLWithPath:)
pour les répertoires système, mais je ne sais pas comment procéder directement à partir du bundle.
Vous utiliseriez l'une des méthodes d'URL de liaison de lot
[[NSBundle mainBundle] URLForResource:@"acknowledge1"
withExtension:@"wav"
subdirectory:@"snd/archer"];
NSBundle.mainBundle().URLForResource("acknowledge1", withExtension:"wav" subdirectory:"snd/archer")
Dans le dernier Swift:
Bundle.main.url(forResource: "acknowledge1", withExtension:"wav")
A partir de Swift 3, la réponse est:
Bundle.main.url(forResource: "acknowledge1", withExtension: "wav", subdirectory: "snd/archer")
Dans Swift 2.3, vous devriez utiliser cette décompression:
if let resourceUrl = NSBundle.mainBundle().URLForResource("acknowledge1", withExtension: "wav", subdirectory:"snd/archer") {
if NSFileManager.defaultManager().fileExistsAtPath(resourceUrl.path!) {
print("file found")
//do stuff
}
}