¿Cómo cargar activos html locales en directorys (js, images, css) en una UIWebview? (iOS)

Específicamente, ¿cómo obtienes todos los resources para cargar desde sus respectivos directorys (imágenes /, css /, js /) sin cambiar el contenido del HTML original (eliminación de directorys)?

Estoy usando este código para cargar index.html en UIWebview:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]; NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *baseURL = [NSURL fileURLWithPath:path]; [webView loadHTMLString:html baseURL:baseURL]; 

Entonces mi html se ve así:

 ... <link rel="stylesheet" type="text/css" href="css/main.css" /> <script type="text/javascript" src="js/classes.js"></script> <script type="text/javascript" src="js/animate.js"></script> etc... 

Si elimino el js /, css /, y las imágenes /, todo funciona porque iOS piensa que todo está en la raíz de mi package. Pero, eso significa que no puedo usar el mismo código en todos los proyectos sin include todo en un directory (cojo). El ingeniero en mí no puede lidiar con este tipo de desorganización.

Gracias por adelantado.

Fácil: cuando agrega las carpetas a Xcode, asegúrese de agregarlas como references de carpeta.

A continuación, se agregarán como carpetas al package .app:

Deberías poder hacer esto. Lo importante a tener en count es cómo se agregan los files a su proyecto. Cuando agregue files a través de Xcode, asegúrese de marcar "Crear references de carpetas para las carpetas publicadas" y NO "Crear grupos para las carpetas agregadas".

reference