IPA: qué es, estructura del archivo y principio de funcionamiento

Autor: IT Sectr Publicado: 2026-04-15 Tiempo de lectura: 8 min

IPA (iOS App Store Package) es un formato de archivo comprimido para distribuir aplicaciones en iOS. Cada aplicación que llega a la App Store pasa por el formato IPA: el desarrollador compila el proyecto, lo firma y sube el IPA a App Store Connect. Según Apple Developer Documentation, 2026, el formato IPA se basa en ZIP y contiene un archivo Mach-O ejecutable, recursos y metadatos de firma.

Puntos clave

  • IPA es un formato de archivo para distribuir aplicaciones iOS a través de la App Store e instalación ad-hoc.
  • Estructura incluye un archivo ejecutable Mach-O firmado, recursos y un Provisioning Profile.
  • Firma es obligatoria: sin un certificado y perfil válidos, el IPA no se instala.
  • Compilación se realiza mediante Xcode con soporte para diferentes esquemas: Debug, Release, Ad-hoc, Enterprise.
  • Arquitecturas — los IPA modernos contienen binarios arm64, sin soporte para dispositivos de 32 bits.

Qué es IPA y para qué se utiliza

IPA (iOS App Store Package) es un formato de paquete para distribuir aplicaciones en la plataforma Apple. Al igual que APK, IPA es técnicamente un archivo ZIP, pero con su propia estructura dictada por los requisitos de seguridad y firma de iOS.

Historia del formato

El formato IPA apareció junto con iPhone OS 2.0 en 2008 y la App Store. Se basó en el formato de paquete .app de macOS, empaquetado en ZIP para reducir el tamaño durante la transmisión. Desde entonces, la estructura de IPA no ha sufrido cambios radicales — solo han evolucionado los esquemas de firma y los metadatos.

Casos de uso

App Store — el canal principal. Distribución Ad-hoc — para pruebas en un número limitado de dispositivos (hasta 100). Distribución Enterprise — para aplicaciones corporativas sin publicar en la tienda. Los desarrolladores también usan IPA para pruebas en dispositivos reales a través de Xcode.

Estructura interna del archivo IPA

La estructura interna de un IPA es un archivo ZIP que contiene una carpeta Payload con el paquete .app y metadatos.

Archivo/DirectorioPropósito
Payload/Carpeta raíz con el paquete .app
Payload/App.app/Paquete de la aplicación: archivo ejecutable, recursos, nib/storyboard
Payload/App.app/Info.plistMetadatos: bundle ID, versiones, permisos
Payload/App.app/embedded.mobileprovisionProvisioning Profile para la instalación
iTunesMetadata.plistMetadatos de iTunes (opcional)
META-INF/Firmas y hashes para verificación

El paquete .app

Dentro de la carpeta Payload se encuentra el paquete de la aplicación con extensión .app. Esto no es un archivo sino un directorio que iOS reconoce como una aplicación. En su interior: el archivo ejecutable Mach-O (el nombre coincide con el nombre del paquete), Info.plist, recursos, imágenes y cadenas localizadas.

Archivo ejecutable Mach-O

El código fuente en Swift u Objective-C se compila en código máquina en formato Mach-O (Mach Object). El archivo contiene segmentos __TEXT (código), __DATA (datos) y __LINKEDIT (metadatos de enlazado). Los IPA modernos contienen solo la arquitectura arm64 de 64 bits.

Proceso de compilación de IPA mediante Xcode

Xcode automatiza la compilación de IPA: desde la compilación del código fuente hasta la creación de un archivo firmado listo para subir a App Store Connect.

Esquemas de compilación

Debug — para desarrollo, sin optimizaciones. Release — para publicación, con optimizaciones del compilador. Cada esquema define banderas de compilación, firma de código y entitlements. Xcode crea un Archivo (Archive) mediante Product → Archive.

objective-c
// Info.plist — metadatos básicos de la aplicación
<key>CFBundleName</key>
<string>MyApp</string>
<key>CFBundleIdentifier</key>
<string>com.example.myapp</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>

Arquitectura de compilación

Xcode compila cada archivo .swift o .m en un archivo objeto (.o), luego los enlaza en un único binario Mach-O. Los recursos (imágenes, XIB, storyboard) se procesan por separado: los storyboards se compilan al formato binario .storyboardc, las imágenes se optimizan en Asset Catalog (.car).

Firma de IPA y Provisioning Profile

Firma es el aspecto más complejo de un IPA. Apple requiere una firma digital para cualquier aplicación que se ejecute en un dispositivo real. El sistema verifica el certificado del desarrollador, los entitlements y la conformidad del Provisioning Profile.

Componentes de la firma

Certificate (Development o Distribution) — certifica la identidad del desarrollador. Provisioning Profile — vincula el certificado, el bundle ID y la lista de dispositivos permitidos (para ad-hoc). Entitlements — permisos de la aplicación (notificaciones push, iCloud, App Groups).

Proceso de firma

Xcode firma cada biblioteca y framework dentro del paquete .app, luego firma el propio paquete. El IPA final se firma a nivel del archivo ZIP. Apple verifica todos los niveles de firma durante la instalación. iOS no ejecuta la aplicación si al menos un componente tiene una firma no válida.

swift
// Verificación de firma a través de Security framework
import Security

func checkSignature() -> Bool {
    let url = Bundle.main.bundleURL
    var staticCode: SecStaticCode?

    guard SecStaticCodeCreateWithPath(
        url as CFURL,
        [], &staticCode
    ) == errSecSuccess else {
        return false
    }
    return true
}

Publicación de IPA en App Store Connect

App Store Connect es la plataforma de Apple para gestionar la publicación de aplicaciones. La carga de IPA se realiza mediante Xcode Organizer, Transporter o la línea de comandos con xcrun altool.

Proceso de carga

Después de crear un archivo, Xcode ofrece Distribute App con una selección de método: App Store Connect, Ad-hoc, Enterprise o Development. Al seleccionar App Store Connect, el desarrollador especifica el equipo y confirma la carga. Xcode verifica la firma, envía el IPA a los servidores de Apple y devuelve el estado del procesamiento.

Línea de comandos

Para CI/CD se utiliza xcrun altool o el más reciente notarytool. Apple requiere notarización para aplicaciones de macOS; para iOS este paso es opcional pero recomendado. xcodebuild -exportArchive crea un IPA firmado listo para cargar.

Apple revisa cada IPA en busca de código malicioso, API privadas y cumplimiento de las App Store Review Guidelines. El proceso de revisión toma de 1 hora a 2 días.

App Thinning: optimización de IPA para dispositivos

Al cargar un IPA en App Store Connect, Apple aplica App Thinning — una tecnología que optimiza el binario para dispositivos específicos. Slicing elimina recursos para resoluciones y arquitecturas no soportadas. On-Demand Resources permite cargar partes de la aplicación (niveles de juego, videos) solo a petición del usuario. Bitcode es una representación intermedia que Apple puede recompilar para nuevas arquitecturas sin intervención del desarrollador.

App Store también verifica el cumplimiento del IPA con los requisitos de Sandbox: la aplicación no debe acceder a datos de otras aplicaciones, al sistema de archivos fuera de su contenedor ni a funciones de hardware sin permiso explícito del usuario.

Pruebas de IPA mediante TestFlight

TestFlight es el servicio oficial de Apple para pruebas beta de aplicaciones. El desarrollador sube el IPA a App Store Connect e invita a los evaluadores por correo electrónico o mediante un enlace público.

Pruebas internas y externas

Internal Testing — hasta 100 miembros del equipo del desarrollador. No requiere revisión de Apple. External Testing — hasta 10 000 evaluadores, requiere pasar la revisión Beta App Review. TestFlight distribuye automáticamente las compilaciones a los evaluadores y recopila análisis.

Limitaciones de TestFlight

Una compilación está disponible para pruebas durante 90 días después de la carga. TestFlight admite hasta 100 compilaciones activas simultáneamente. Cada evaluador puede instalar hasta 30 aplicaciones a la vez. Crashlytics se integra con TestFlight para recopilar informes de fallos y errores no fatales.

IPA e Integración Continua

La compilación de IPA en un entorno de CI requiere un runner de macOS. GitHub Actions, GitLab CI y Bitrise proporcionan entornos macOS para compilaciones de iOS. La lane `build_app` de Fastlane automatiza todo el ciclo: archivado, firma, exportación de IPA y carga a TestFlight. Para la gestión de certificados y perfiles se utiliza Match — una herramienta de Fastlane que almacena firmas en un repositorio Git cifrado.

Problemas típicos con IPA

Los desarrolladores se encuentran con una serie de errores característicos al compilar y firmar IPA. La mayoría están relacionados con una configuración incorrecta de certificados y perfiles.

Error de firma: No matching provisioning profile found

Xcode no encuentra un Provisioning Profile que coincida con el bundle ID y el certificado. Solución — descargar perfiles actuales en Xcode Accounts → Download Manual Profiles o usar Automatic Signing.

ITMS-90125: The binary is invalid

Este error ocurre al cargar un IPA con una arquitectura no válida. Los IPA modernos deben contener solo arm64. La presencia de i386 o x86_64 en el binario provoca el rechazo. Solución — verificar las arquitecturas en Build Settings y excluir las arquitecturas de simulador.

Invalid Bundle Structure: The bundle is missing the required .app bundle

El IPA no contiene la estructura correcta Payload/App.app. Apple espera una jerarquía precisa. Solución — verificar que el archivo incluya la carpeta Payload con un paquete .app, no una lista plana de archivos.

Distribución de IPA sin App Store

Para la distribución corporativa se utiliza el programa Enterprise de Apple ($299/año). El IPA se firma con un certificado Enterprise y se puede instalar en cualquier dispositivo de la empresa sin limitación de cantidad. La distribución Ad-hoc está limitada a 100 dispositivos por cuenta de desarrollador ($99/año). Los sistemas MDM (Mobile Device Management) como Jamf y Microsoft Intune admiten la instalación masiva de IPA Enterprise.

Preguntas frecuentes

¿En qué se diferencia IPA de APK?

IPA utiliza el formato ejecutable Mach-O en lugar de DEX, requiere un Provisioning Profile para la instalación y pasa una revisión estricta de la App Store. APK, a diferencia de IPA, se puede instalar directamente sin intermediarios (sideloading).

¿Se puede compilar IPA en Windows?

No, la compilación de IPA requiere Xcode y herramientas de Apple, que solo están disponibles en macOS. Alternativas: servidores macOS remotos (Mac mini, AWS Mac) o servicios de CI en la nube (GitHub Actions con runner macOS).

¿Cuánto pesa un IPA típico?

Una aplicación simple — 5–30 MB. Una aplicación de complejidad media — 30–150 MB. Los juegos pueden alcanzar los 4 GB. Apple limita el tamaño de descarga por red móvil a 200 MB, pero el usuario puede descargar por Wi-Fi.

¿Cómo instalar IPA sin App Store?

Para instalación ad-hoc se utiliza Xcode o Apple Configurator. Las aplicaciones Enterprise se distribuyen mediante un servidor interno con manifest.plist. Un usuario normal no puede instalar un IPA sin jailbreak o TestFlight.

¿Qué son IPA thin y IPA fat?

Fat IPA contiene múltiples arquitecturas (arm64 + x86_64) para compilaciones universales. Thin IPA contiene solo una arquitectura para un dispositivo específico. Apple solo acepta thin IPA para publicación — los binarios fat son rechazados.

Resumen

  • IPA es un formato de distribución de aplicaciones iOS basado en ZIP con un archivo ejecutable Mach-O.
  • Estructura incluye un paquete Payload/.app, Info.plist, firmas y un Provisioning Profile.
  • Compilación se realiza mediante Xcode compilando Swift/Objective-C a código máquina arm64.
  • Firma es obligatoria: el certificado + Provisioning Profile + entitlements son verificados por iOS durante la instalación.
  • Publicación pasa por App Store Connect con verificación de las App Store Review Guidelines.
  • TestFlight es la herramienta oficial de pruebas beta para hasta 10 000 evaluadores.
  • Limitaciones: compilación solo en macOS, firma obligatoria, tamaño máximo de 4 GB.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también