3,2,1 … Empezamos!
Nueva entrada en el blog en la cual vamos a explicar las partes que componen una aplicación iOS.
Una IPA (iOS App Store Package) es un archivo comprimido que contiene todos los elementos necesarios para instalar y ejecutar una aplicación en dispositivos iOS, como iPhones y iPads. Al igual que los archivos APK en Android, las IPAs son esenciales para la distribución de aplicaciones en el ecosistema de Apple.
La estructura de una aplicación iOS está organizada en varios elementos fundamentales:
Payload
La carpeta Payload es la parte principal del archivo IPA. Contiene todos los archivos que conforman la aplicación, incluyendo el ejecutable, recursos y otros archivos necesarios. Dentro de esta carpeta encontrarás:
- El ejecutable de la aplicación: El archivo binario que se ejecuta en el dispositivo iOS.
- Recursos de la aplicación: Imágenes, videos, archivos de audio, y otros recursos que la aplicación utiliza.
- Archivos de configuración y preferencias: Incluyen archivos de configuración específicos de la aplicación.
Info.plist
El fichero Info.plist es como una lista importante de información que las aplicaciones de Apple usan para saber cómo deben funcionar y qué características tienen. Es un archivo en formato plist (Property List) que contiene una serie de pares clave-valor. Estas claves le dicen al sistema cosas importantes sobre la app. Es el equivalente al AndroidManifest.xml de Android.
En este fichero se definen configuraciones básicas como:
- CFBundleIdentifier: El identificador único de la aplicación (ejemplo: com.tuempresa.tuapp).
- CFBundleVersion y CFBundleShortVersionString: Versiones de la aplicación.
- CFBundleDisplayName: El nombre que aparece bajo el icono de la aplicación en la pantalla de inicio.
- LSApplicationQueriesSchemes: Esquemas de URL que la aplicación puede abrir.
- NSAppTransportSecurity: Configuraciones de seguridad de transporte de red.
Code Signing Entitlements
Este archivo define los derechos y capacidades de la aplicación, como la capacidad de acceder a ciertos servicios del sistema o realizar transacciones en la App Store. Algunas de los parámetros que podemos encontrarnos son:
- com.apple.developer.networking.wifi-info: Permite que la aplicación acceda a la información de la red WiFi.
- keychain-access-groups: La clave keychain-access-groups es una configuración que aparece en el archivo Entitlements.plist o en el fichero de configuración de la aplicación cuando trabajas con el Keychain de Apple. El Keychain es un lugar seguro que Apple proporciona para almacenar información sensible, como contraseñas, tokens de sesión, certificados, etc. La clave keychain-access-groups define a qué grupos de aplicaciones se les permite compartir acceso a los mismos datos almacenados en el Keychain.
Embedded.mobileprovision
El archivo Embedded.mobileprovision contiene el perfil de aprovisionamiento de la aplicación. Este perfil incluye:
- UUID del perfil: Identificador único del perfil de aprovisionamiento.
- Dispositivos autorizados: Lista de identificadores únicos de dispositivos (UDIDs) en los que la aplicación puede instalarse.
- Certificado de desarrollador: Información del certificado del desarrollador que firmó la aplicación.
iTunesArtwork y iTunesArtwork@2x
Estos archivos son las imágenes que representan la iconografía de la aplicación. Aunque ya no son utilizados en las versiones más recientes de iOS, históricamente han sido parte de la IPA:
- iTunesArtwork: Imagen de 512×512 píxeles que solía ser requerida para el App Store.
- iTunesArtwork@2x: Imagen de 1024×1024 píxeles para dispositivos con pantallas Retina.
iTunesMetadata.plist
El archivo iTunesMetadata.plist contiene metadatos adicionales sobre la aplicación, aunque no todas las IPAs incluyen este archivo. La información que puede contener incluye:
- Descripción de la aplicación: Breve resumen de la funcionalidad de la aplicación.
- Categorías: Las categorías en las que se clasifica la aplicación en la App Store.
- Palabras clave: Términos de búsqueda que ayudan a los usuarios a encontrar la aplicación en la App Store.
WatchKit App
Si la aplicación incluye una extensión para Apple Watch, esta carpeta contiene los archivos necesarios para la app del reloj. Estos archivos permiten que la aplicación ofrezca funcionalidades específicas en el Apple Watch, y pueden incluir:
- InterfaceController archivos: Archivos que definen la interfaz y la lógica de la aplicación en el Apple Watch.
- Recursos del Apple Watch: Imágenes y otros recursos necesarios para la aplicación en el Apple Watch.
Destacar que esto es un resumen y que, a lo largo de futuras publicaciones se entrará en detalle con ejemplos prácticos.
En la próxima entrada abordaremos cómo podemos enfocar y dividir una auditoría móvil.
¡Nos vemos en el próximo! 😊






