2015-11-08 4 views
9

Мне нужно, чтобы получить URL ресурса, содержащегося в моем Xcode проекте через путь, который начинается в директории проекта (он же mainBundle)Получить URL ресурса от проекта конкретного пути

Так что, если мой указанный путь, если ./snd /archer/acknowledge1.wav, мне нужно создать URL-адрес из этого.

Я знаю, что могу использовать NSURL(fileURLWithPath:) для системных каталогов, но я не знаю, как это сделать непосредственно из комплекта.

ответ

11

Вы должны использовать один из методов 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") 
23

Как Свифт 3, ответ:

Bundle.main.url(forResource: "acknowledge1", withExtension: "wav" subdirectory: "snd/archer") 
+0

Пожалуйста, исправьте свой ответ. Требуется запятая перед «подкаталогом». Это отличный ответ для Swift 4 (и, возможно, Swift 3) –

0

В Swift 2.3 y ou'd необходимо использовать эту развертку:

if let resourceUrl = NSBundle.mainBundle().URLForResource("acknowledge1", withExtension: "wav", subdirectory:"snd/archer") { 
     if NSFileManager.defaultManager().fileExistsAtPath(resourceUrl.path!) { 
      print("file found") 
      //do stuff 
     } 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^