Las aplicaciones en tu iPhone 3G y 2G: Entendiendo un poquito sus componentes.
Hoy toca ponerse el gorro de profesor y hablar un poco sobre las tripas del iPhone.
LAS APLICACIONES: EL BUNDLE (PAQUETE)
Las aplicaciones iPhone se distribuyen en “bundles” (paquetes) que no son sino un directorio que tiene la extensión .APP. Todo lo que forma parte de la aplicación está incluido en este directorio: el ejecutable compilado (el programa propiamente dicho), los ficheros multimedia necesarios (audio, video) y los ficheros "especiales”. El sistema operativo trata a este paquete (bundle) conjunto como una unidad. No se utilizan directorios diferenciados para contenidos (Contents) y recursos (Resources). Todo lo necesario aparece en el primer nivel dentro del directorio, por ejemplo los ficheros de idioma .LPROJ. Las aplicaciones Apple residen o se instalan en el directorio primario
/Applicationsmientras que las aplicaciones de terceros están en
/var/mobile/Applications
EL EJECUTABLE
El ejecutable está en el primer nivel de directorios del paquete.
Tendrá que tener derecho de ejecución y ser autenticado por Springboard, porque a partir de la versión 1.1.2 Springboard tiene la misión de impedir la ejecución de código arbitrario. Esto puede suponer una limitación a la hora de ejecutar comandos desde el interprete de comandos. Springboard también cerrará cualquier aplicación que consuma excesiva memoria o recursos.
EL FICHERO INFO.PLIST Y LAS PREFERENCIAS DE LA APLICACIÓN
El fichero INFO.PLIST es importante ya que es una lista de propiedades XML que describe las propiedades del programa al Sistema Operativo. Puede estar en texto plano en binario y en el se especifica el ejecutable de la aplicación (CFBundleExecutable) y su identificador (BundleIdentifier); dato que es necesario para una ejecución correcta de la aplicación. El identificador es necesario para que las aplicaciones puedan comunicarse entre ellas y ser registradas por Springboard que es quien crea la pantalla HOME desde la que arrancamos las aplicaciones mediante los iconos. Pero también es la base de las preferencias de la aplicación, es decir los valores por defecto para el usuario. Las preferencias de la Aplicación se guardan automáticamente en la Librería de usuario en un archivo .PLIST. Como el usuario en iPhone es siempre “Mobile” están en
/var/mobile/Library/Preferencesy el nombre del archivo se forma a partir del identificador. por ejemplo, si yo creara una aplicación, su identificador seria “miaplicacion” y el nombre completo del archivo de preferencias “com.lardt.miaplicacion.plist”. Los archivos .PLIST están en binario para reducir su tamaño y hacer que su lectura sea más rápida. Como ya sabemos un archivo .PLIST puede leerse convirtiéndolo a un XML de texto plano con el comando
plutil -convert xml1 plistfile
De esta forma puede customizarse muy fácilmente el comportamiento de la aplicación cargando variables sobre, por ejemplo, el comportamiento de Sptingboard con respecto de la aplicación. Ejemplos:
- Cómo se mostrará el icono de la aplicación (UIPrerenderedIcon)
- Definir roles distintos para la misma aplicación: la "Cámara" y "Fotos" son la misma aplicación (MobileSlideShow) en dos roles distintos.
- Establecer el color y aspecto de la barra de estado (UIStatusBarStyle) o incluso esconderla (UIStatusBarHidden)
- Anular la función del acelerómetro y presentar la aplicación siempre en modo horizontal (landscape) (UIInterfaceOrientation) y (UIInterfaceOrientationLandscapeRight).
2 comentarios:
una pregunta como instalo aplicaciones en mi iphone 2g¿??? xq no me sirve con itunes..siempre me aparece error y si tengo hecho el jailbreak...como hago¿¿¿???
Si tienes hecho el jailbreak deberias tener instalado en el mismo proceso de jailbreak la aplicacion CYDIA o INSTALLER desde donde puedes acceder a repositorios con un montón de aplicaciones gratuitas. Además el jailbreak no impide que funcione la App Store de Apple a través de itunes, desde donde puedes tambien instalar.
Hay que ver con más detalle como tienes el iPhone y porque no te funciona.
¿puedes inscribirte en el foro y dejarme la pregunta allí? Y lo vamos analizando con más detalle.
http://cli.gs/FORO
Publicar un comentario