En esta página

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ónPlataforma de destinoArquitectura
Xcode 15 (SDK de iOS 17) o superioriOS 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
DispositivoVersión del SOArquitecturaFactor de forma
iPhone 12iOS 17armv8 (arm64)Móvil
iPhone 11iOS 17armv8 (arm64)Móvil
iPad Pro, 3ª generacióniOS 17armv8 (arm64)Tableta
iPad, 6ª generacióniOS 17armv8 (arm64)Tablet
iPad, 9ª generacióniOS 18armv8 (arm64)Tablet
iPhone 16eiOS 18armv8 (arm64)Móvil
iPad Air M3iOS 18armv8 (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.

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 ++:

// objc_code.h
QString localizedHostName();

// objc_code.mm
#include <Foundation/NSHost.h>
QString localizedHostName()
{
    return QString::fromNSString(NSHost.currentHost.localizedName);
}

© 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.