Qt para iOS
Qt para iOS permite crear aplicaciones para los dispositivos iPhone y iPad de Apple, así como para el Apple Vision Pro.
Para desarrollar con Qt para iOS, sigue la guía de inicio; luego explora ejemplos para iOS, y temas relacionados.
Configuraciones soportadas
Qt 6.11 es compatible con las siguientes versiones del entorno de compilación y la plataforma de ejecución de destino.
| Entorno de compilación | Plataforma de destino | Arquitectura |
|---|---|---|
| Xcode 15 (SDK de iOS 17) o superior | iOS 17 o superior (incluido iOS 26) | armv8, arm64 |
Nota: La promesa de compatibilidad de Apple para iOS garantiza que las aplicaciones Qt sigan funcionando correctamente en las nuevas versiones del sistema operativo. Los problemas que puedan surgir se priorizan y programan de acuerdo con las políticas de ramificación y soporte de Qt. La compatibilidad con nuevas características del sistema operativo no suele incluirse en las versiones de parches.
| Dispositivos utilizados en las pruebas automatizadas | |||
|---|---|---|---|
| Dispositivo | Versión del SO | Arquitectura | Factor de forma |
| iPhone 12 | iOS 17 | armv8 (arm64) | Móvil |
| iPhone 11 | iOS 17 | armv8 (arm64) | Móvil |
| iPad Pro, 3ª generación | iOS 17 | armv8 (arm64) | Tableta |
| iPad, 6ª generación | iOS 17 | armv8 (arm64) | Tablet |
| iPad, 9ª generación | iOS 18 | armv8 (arm64) | Tablet |
| iPhone 16e | iOS 18 | armv8 (arm64) | Móvil |
| iPad Air M3 | iOS 18 | armv8 (arm64) | Tableta |
Entorno de compilación
El entorno de compilación para iOS lo proporciona la aplicación Xcode de Apple, que incluye tanto la cadena de herramientas (compilador, enlazador y otras herramientas) como el SDK de la plataforma iOS (cabeceras y bibliotecas) con el que se compila y enlaza. Juntos definen cómo se construye tu aplicación.
Apple suele recomendar (y en el caso de la App Store, exigir) que las aplicaciones se construyan con el último SDK disponible, por lo que siempre se debe utilizar la última versión disponible de Xcode de Apple. Esto puede requerir la actualización de la versión de macOS de su sistema, ya que las nuevas versiones de Xcode pueden no funcionar en versiones antiguas de macOS.
Nota: El entorno de compilación de iOS siempre se define completamente por la versión de Xcode (su cadena de herramientas y SDK) que esté utilizando, no por la versión de macOS en la que esté ejecutando Xcode.
Exclusión de los cambios de comportamiento
Una advertencia sobre el uso de la última versión de Xcode y SDK para construir su aplicación es que los marcos del sistema iOS a veces deciden si habilitar o no los cambios de comportamiento basado en el SDK que construyó su aplicación contra.
Esta técnica permite a Apple garantizar que los binarios creados con SDK antiguos sigan ejecutándose sin regresiones en las nuevas versiones de iOS.
Por ejemplo, cuando se introdujo el modo oscuro en macOS 10.14 Mojave, macOS solo trataría las aplicaciones creadas con el SDK 10.14 como compatibles con el modo oscuro, y dejaría las aplicaciones creadas con SDK anteriores con el aspecto predeterminado del modo claro.
Construir con una versión anterior de Xcode, contra un SDK anterior, es una manera de optar por tales cambios de comportamiento, pero es una solución de último recurso, y sólo debe aplicarse si su aplicación no tiene otras maneras de resolver el problema.
Plataformas de destino
La compilación para iOS utiliza una técnica denominada vinculación débil que permite compilar la aplicación con los encabezados y las bibliotecas del SDK de la plataforma más reciente, al tiempo que permite que la aplicación se implemente en versiones de iOS inferiores a la versión del SDK. Cuando el binario se ejecuta en una versión de iOS inferior a la del SDK con el que se creó, Qt comprobará en tiempo de ejecución si una función de la plataforma está disponible o no antes de utilizarla.
En teoría, esto permitiría ejecutar tu aplicación en todas y cada una de las versiones de iOS lanzadas, pero por razones prácticas (y técnicas) hay un límite inferior a este rango, conocido como el objetivo de despliegue de tu aplicación. Si el binario se lanza en una versión de iOS por debajo del objetivo de despliegue Qt dará un mensaje de error y la aplicación no se ejecutará.
Qt expresa el objetivo de despliegue mediante las variables CMAKE_OSX_DEPLOYMENT_TARGET o QMAKE_MACOSX_DEPLOYMENT_TARGET, que por defecto se establece en el objetivo de despliegue mínimo soportado por Qt.
Sólo necesitas aumentar el objetivo de despliegue si tu propio código utiliza APIs que fueron añadidas en una versión de iOS superior a la que Qt tiene por defecto, y no estás utilizando comprobaciones de @available para proteger su uso en tiempo de ejecución.
Para aumentar el objetivo de despliegue con CMake:
set(CMAKE_OSX_DEPLOYMENT_TARGET "42.0")o con qmake:
QMAKE_MACOSX_DEPLOYMENT_TARGET = 42.0
Nota: No debe reducir el objetivo de despliegue más allá del valor predeterminado establecido por Qt. Si lo hace, es probable que se produzcan bloqueos en tiempo de ejecución si el binario se implementa en una versión de iOS inferior a la que Qt espera que se ejecute.
Para obtener más información sobre el desarrollo basado en SDK en plataformas Apple, consulte la documentación para desarrolladores de Apple.
Primeros pasos
Instalación de Xcode
Xcode es un requisito para desarrollar con Qt para iOS. Puede instalarse desde la App Store o descargarse desde el sitio web para desarrolladores de Apple.
Una vez instalado, ejecute Xcode una vez para que instale las dependencias necesarias.
A continuación, verifique que el sistema está utilizando la instalación correcta de Xcode utilizando la herramienta xcode-select.
$ xcode-select -print-path /Applications/Xcode.app/Contents/Developer
Si la salida no coincide con las expectativas, elija la instalación de Xcode explícitamente.
$ sudo xcode-select --switch /Applications/Xcode.app
La arquitectura de las bibliotecas del simulador Qt para iOS es x86_64, lo que significa que el simulador de iOS debe ejecutarse bajo Rosetta en los Mac Apple Silicon. En Xcode 26 y posteriores, esto requiere eliminar el componente de la plataforma iOS instalado por defecto en los ajustes de Xcode y, a continuación, instalar manualmente el componente universal de la plataforma iOS:
xcodebuild -downloadPlatform iOS -architectureVariant universal
Para probar aplicaciones Qt en el simulador que viene con Xcode, esto es todo lo que necesita. Sin embargo, para ejecutar aplicaciones en un dispositivo físico y/o publicar tus aplicaciones en la App Store, debes unirte al Programa de Desarrolladores de Apple, y configurar certificados de desarrollador y perfiles de aprovisionamiento.
Antes de construir cualquier aplicación Qt, debe probar que Xcode está configurado correctamente, por ejemplo, mediante la ejecución de una de las plantillas de aplicación estándar de Xcode en su dispositivo.
Instalar o compilar Qt
Para instalar o compilar Qt, siga la guía general de introducción a Qt.
Construir aplicaciones desde la línea de comandos
Utilice CMake o qmake para definir cómo construir su aplicación iOS. Tanto CMake como qmake pueden generar un archivo xcodeproj, que luego se puede cargar y compilar desde la línea de comandos.
Uso de CMake
La secuencia de comandos de conveniencia qt-cmake ubicado en <Qt-dir>/<version>/ios/bin/ se encargará de configurar la cadena de herramientas y las arquitecturas correctas para usted.
Usando el script de conveniencia qt-cmake:
<Qt-dir>/<version>/ios/bin/qt-cmake <source-dir>
Utilizando el archivo xcodeproj generado, puede utilizar Xcode para compilar su aplicación o ejecutar xcodebuild desde la línea de comandos. Para obtener una lista de objetivos y esquemas disponibles para su aplicación, ejecute el siguiente comando:
xcodebuild -list -project <your-app>.xcodeproj
A continuación, ejecute xcodebuild build, introduciendo los detalles de su aplicación:
xcodebuild build -allowProvisioningUpdates -project <your-app>.xcodeproj -scheme <your-scheme> -configuration Debug -destination "generic/platform=iOS" -destination-timeout 1 ENABLE_ONLY_ACTIVE_RESOURCES=NO
Usando qmake
Primero, define cómo construir la aplicación usando qmake. A continuación, utilice el archivo xcodeproj generado para compilar la aplicación, ya sea en Xcode o desde la línea de comandos.
qmake <your-app>.pro
qmake crea un Makefile de envoltura que a su vez llama a xcodebuild, por lo que puede ejecutar make para construir su aplicación:
make -j8
Ten en cuenta que debes volver a importar el proyecto si cambia su configuración, por ejemplo, al añadir o eliminar archivos fuente.
Personalizar la configuración del proyecto Xcode
La variable QMAKE_MAC_XCODE_SETTINGS qmake se puede utilizar para personalizar la configuración de Xcode, por ejemplo:
development_team.name = DEVELOPMENT_TEAM development_team.value = <your-team-id> QMAKE_MAC_XCODE_SETTINGS += development_team
Otras variables qmake también son útiles:
QMAKE_TARGET_BUNDLE_PREFIX = com.<your-company> QMAKE_BUNDLE = <your-app>
Ejecutar aplicaciones en Xcode
Los proyectos Xcode generados por qmake y CMake permiten ejecutar la aplicación tanto en dispositivos iOS como en el simulador iOS.
Nota: Como la arquitectura predeterminada de las bibliotecas del simulador Qt para iOS es x86_64, la aplicación debe ejecutarse bajo Rosetta en los Mac Apple Silicon. Si los destinos de ejecución basados en Rosetta no aparecen en el menú de destinos de ejecución de Xcode, pueden activarse a través del menú Product > Destination > Destination Architectures.
Creación y ejecución de aplicaciones con Qt Creator
Puede encontrar información sobre cómo configurar y ejecutar aplicaciones Qt para iOS en la documentación de Qt Creator:
Tenga en cuenta que esto todavía requiere una instalación de Xcode en funcionamiento.
Ejemplos para iOS
En Qt Creator se pueden buscar ejemplos probados en iOS. Utilice la palabra clave ios para buscar ejemplos en el modo de bienvenida Qt Creator. Tenga en cuenta que algunos ejemplos pueden tener una funcionalidad limitada.
Para obtener una lista de ejemplos que se sabe que funcionan en dispositivos iOS, visite Ejemplos de Qt para iOS.
Temas relacionados
Los siguientes temas proporcionan más detalles sobre Qt para iOS:
Uso de código Objective-C en aplicaciones Qt
Clang, el compilador utilizado para aplicaciones en plataformas Apple, permite mezclar código C++ y Objective-C. Para habilitar este modo, utilice la extensión .mm para los archivos fuente correspondientes y añádalos a su proyecto como de costumbre.
Con CMake:
target_sources(myapp PRIVATE objc_code.mm)
Con qmake:
SOURCES += objc_code.mm
Puede utilizar marcos Objective-C de la biblioteca de desarrolladores de Apple en sus aplicaciones Qt.
Para exponer la funcionalidad al resto de su aplicación, sin tener que cambiar el nombre de todos sus archivos de origen, declarar funciones de ayuda en un encabezado, e implementar la funcionalidad en un archivo de código fuente Objective-C ++:
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.