¿Cómo get la ruta a una subcarpeta en el package principal?

Tengo un proyecto en el que migro de Obj-C a Swift 3.0 (y soy un novato en Swift).

¿Cómo traduzco esta línea?

NSString *folder = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"myfolder"]; 

Logré get la ruta del recurso:

 let resoursePath = Bundle.main.resoursePath; 

¿Pero cómo obtengo la ruta a una subcarpeta llamada "myfolder"? Necesito get una ruta de acceso a la subcarpeta, no la ruta a los files dentro de ella.

En Swift-3, haga una URL y llame a appendingPathComponent :

 let resourcePath = Bundle.main.resourcePath let subdir = URL(fileURLWithPath:resourcePath!).appendingPathComponent("sub").path 

o simplemente

 let subdir = Bundle.main.resourceURL!.appendingPathComponent("sub").path 

(gracias, Martin R !)

Consulte esta stringByAppendingPathComponent preguntas y respuestas sobre información sobre el método stringByAppendingPathComponent en Swift.

Puede usar url(forResource:withExtension:) y get la ruta.

 if let url = Bundle.main.url(forResource: "FolderName", withExtension: nil) { print(url) //URL object print(url.path) //If you want path as String } 

Puede usar este método para get una list del subdirectory del package y get resources solo del tipo específico:

 Bundle.main.paths(forResourcesOfType: type, inDirectory: folder)