jueves, 12 de marzo de 2009

Como obtener el path del Bundle de tu aplicación

En Mac OS X a diferencia de en otros sistemas operativos las aplicaciones no son solo archivos ejecutables. En este caso las aplicaciones son principalmente un folder en el cual se contiene un archivo de configuración .plist el cual le dice al Sistema Operativo que el folder debe ser considerado como una aplicación.

Este folder en términos de Objetive-C es denominado Bundle, en este bundle se pueden guardar los recursos de tu aplicación, ya sean imágenes, música, videos, o archivos de bases de datos (Ej. archivos de sqlite). Todo lo que desees que se entregue con tu aplicación estará ahí.

De esta manera obtienes el folder del bundle de tu aplicación.


NSString *bundlePath =[[NSBundle mainBundle] resourcePath]];
NSLob(boundlePath); //Imprime el path absoluto del bundle


Explicaciones:

  • (NSBundle *) [NSBundle mainBundle] - Te trae el objeto NSBundle de tu aplicación.
  • (NSString *) [NSBundle resourcePath] - Regresa el Path del bundle al que este asociado (en este caso tu aplicacion para iphone).

Notas:

  • Hay que recordar que los bundles en el iphone son de solo lectura (read only).
  • Por lo anterior los archivos de datos como bases de datos o Property Lists (plists) no pueden modificarse directamente en el bundle.
  • Se recomienda copiar los archivos de datos a tu carpeta de Documents en el iphone para poder ser modificados sin problemas. De esto hablaremos en otro post.
  • En programación para Mac's NSBundle puede ser utilizado para instanciar otros bundles diferentes al de la aplicación que lo llama.

Vinculos:

No hay comentarios:

Publicar un comentario