Qt für iOS
Mit Qt für iOS lassen sich Anwendungen für Apples iPhone- und iPad-Geräte sowie für das Apple Vision Pro erstellen.
Um mit Qt für iOS zu entwickeln, befolgen Sie die Anleitung für den Einstieg; sehen Sie sich anschließend die Beispiele für iOS und verwandte Themen an.
Unterstützte Konfigurationen
Die folgenden Versionen der Build-Umgebung und der Zielplattform für die Laufzeit werden von Qt 6.12 unterstützt.
| Build-Umgebung | Zielplattform | Architektur |
|---|---|---|
| Xcode 16 (iOS 18 SDK) oder höher | iOS 18 oder höher (einschließlich iOS 26) | armv8, arm64 |
Hinweis: Apples Versprechen der Vorwärtskompatibilität für iOS stellt im Allgemeinen sicher, dass Qt-Anwendungen auch auf neuen Betriebssystemversionen weiterhin einwandfrei laufen. Eventuell auftretende Probleme werden gemäß den Qt-Richtlinien für Verzweigungen und Support priorisiert und eingeplant. Die Unterstützung neuer Betriebssystemfunktionen ist in der Regel nicht in Patch-Versionen enthalten.
| Bei automatisierten Tests verwendete Zielgeräte | |||
|---|---|---|---|
| Gerät | Betriebssystemversion | Architektur | Formfaktor |
| iPhone 12 | iOS 17 | armv8 (arm64) | Mobil |
| iPhone 11 | iOS 17 | armv8 (arm64) | Mobil |
| iPad Pro, 3. Generation | iOS 17 | armv8 (arm64) | Tablet |
| iPad, 6. Generation | iOS 17 | armv8 (arm64) | Tablet |
| iPad, 9. Generation | iOS 18 | armv8 (arm64) | Tablet |
| iPhone 16e | iOS 18 | armv8 (arm64) | Mobil |
| iPad Air M3 | iOS 18 | armv8 (arm64) | Tablet |
Entwicklungsumgebung
Die Entwicklungsumgebung für iOS wird von Apples Xcode-Anwendung bereitgestellt, die sowohl die Toolchain (Compiler, Linker und andere Werkzeuge) als auch das iOS-Plattform-SDK (Header und Bibliotheken) enthält, mit denen Sie Ihre Anwendung erstellen und verknüpfen. Zusammen legen diese fest, wie Ihre Anwendung erstellt wird.
Apple empfiehlt generell (und schreibt es im Falle des App Stores sogar vor), dass Anwendungen mit dem neuesten verfügbaren SDK erstellt werden. Daher sollten Sie stets die neueste verfügbare Xcode-Version von Apple verwenden. Dies kann ein Upgrade der macOS-Version Ihres Systems erfordern, da neue Xcode-Versionen unter Umständen nicht auf älteren macOS-Versionen laufen.
Hinweis: Die iOS-Build-Umgebung wird immer vollständig durch die von Ihnen verwendete Xcode-Version (d. h. deren Toolchain und SDKs) definiert –nicht durch die Version von macOS, auf der Sie Xcode ausführen.
Deaktivieren von Verhaltensänderungen
Ein Nachteil bei der Verwendung der neuesten Xcode-Version und des neuesten SDKs zum Erstellen Ihrer Anwendung besteht darin, dass die iOS-System-Frameworks manchmal anhand des SDKs, auf dessen Basis Sie Ihre Anwendung erstellt haben, entscheiden, ob Verhaltensänderungen aktiviert werden oder nicht.
Auf diese Weise kann Apple sicherstellen, dass Binärdateien, die mit älteren SDKs erstellt wurden, auch auf neueren iOS-Versionen weiterhin ohne Funktionsrückgänge laufen.
Als beispielsweise der Dunkelmodus in macOS 10.14 Mojave eingeführt wurde, behandelte macOS nur Anwendungen, die mit dem 10.14-SDK erstellt wurden, als den Dunkelmodus unterstützend, während Anwendungen, die mit früheren SDKs erstellt wurden, weiterhin das standardmäßige Erscheinungsbild des Hellmodus beibehielten.
Das Erstellen mit einer älteren Xcode-Version unter Verwendung eines älteren SDKs ist eine Möglichkeit, solche Verhaltensänderungen zu umgehen, stellt jedoch eine Lösung der letzten Wahl dar und sollte nur angewendet werden, wenn es für Ihre Anwendung keine anderen Möglichkeiten gibt, das Problem zu umgehen.
Zielplattformen
Beim Erstellen für iOS kommt eine Technik namens „Weak Linking“ zum Einsatz, die es Ihnen ermöglicht, Ihre Anwendung mit den Header-Dateien und Bibliotheken des neuesten Plattform-SDK zu erstellen, während Ihre Anwendung dennoch auf iOS-Versionen bereitgestellt werden kann, die älter sind als die SDK-Version. Wenn die Binärdatei auf einer iOS-Version ausgeführt wird, die älter ist als das SDK, mit dem sie erstellt wurde, prüft Qt zur Laufzeit, ob eine Plattformfunktion verfügbar ist, bevor sie genutzt wird.
Theoretisch würde dies die Ausführung Ihrer Anwendung auf jeder einzelnen veröffentlichten iOS-Version ermöglichen, doch aus praktischen (und technischen) Gründen gibt es eine Untergrenze für diesen Bereich, die als „Bereitstellungsziel“ Ihrer Anwendung bezeichnet wird. Wird die Binärdatei auf einer iOS-Version gestartet, die unter dem Bereitstellungsziel liegt, gibt Qt eine Fehlermeldung aus und die Anwendung wird nicht ausgeführt.
Qt gibt das Bereitstellungsziel über die Variablen CMAKE_OSX_DEPLOYMENT_TARGET Variablen „ QMAKE_MACOSX_DEPLOYMENT_TARGET “ aus, die standardmäßig auf das für Qt unterstützte Mindest-Bereitstellungsziel gesetzt sind.
Sie müssen das Deployment-Target nur erhöhen, wenn Ihr eigener Code APIs verwendet, die in einer iOS-Version hinzugefügt wurden, die höher ist als die von Qt standardmäßig verwendete, und Sie keine „ @available “-Prüfungen einsetzen, um deren Verwendung zur Laufzeit abzusichern.
So erhöhen Sie das Deployment-Target mit CMake:
set(CMAKE_OSX_DEPLOYMENT_TARGET "42.0")oder mit qmake:
QMAKE_MACOSX_DEPLOYMENT_TARGET = 42.0Hinweis: Sie sollten das Bereitstellungsziel nicht unter den von Qt festgelegten Standardwert senken. Dies führt wahrscheinlich zu Abstürzen zur Laufzeit, wenn die Binärdatei auf einer iOS-Version bereitgestellt wird, die niedriger ist als die von Qt erwartete.
Weitere Informationen zur SDK-basierten Entwicklung auf Apple-Plattformen finden Sie in der Entwicklerdokumentation von Apple.
Erste Schritte
Xcode installieren
Xcode ist für die Entwicklung mit Qt für iOS erforderlich. Es kann im App Store installiert oder von der Entwickler-Website von Apple heruntergeladen werden.
Starten Sie Xcode nach der Installation bitte einmal, damit die erforderlichen Abhängigkeiten installiert werden können.
Überprüfen Sie anschließend mithilfe des Tools „ xcode-select “, ob das System die richtige Xcode-Installation verwendet.
$ xcode-select -print-path
/Applications/Xcode.app/Contents/DeveloperSollte die Ausgabe nicht den Erwartungen entsprechen, wählen Sie die Xcode-Installation explizit aus.
$ sudo xcode-select --switch /Applications/Xcode.appDie Architektur der Qt-für-iOS-Simulator-Bibliotheken ist „ x86_64 “, was bedeutet, dass der iOS-Simulator auf Apple-Silicon-Macs unter Rosetta laufen muss. In Xcode 26 und höher erfordert dies, dass die standardmäßig installierte iOS-Plattformkomponente in den Xcode-Einstellungen gelöscht und anschließend die universelle iOS-Plattformkomponente manuell installiert wird:
xcodebuild -downloadPlatform iOS -architectureVariant universalZum Testen von Qt-Anwendungen im mit Xcode mitgelieferten Simulator ist dies alles, was Sie benötigen. Um Anwendungen jedoch auf einem physischen Gerät auszuführen und/oder Ihre Anwendungen im App Store zu veröffentlichen, müssen Sie dem Apple Developer Program beitreten und Entwicklerzertifikate sowie Provisioning-Profile einrichten.
Bevor Sie Qt-Anwendungen erstellen, sollten Sie überprüfen, ob Xcode korrekt eingerichtet ist, indem Sie beispielsweise eine der Standard-Anwendungsvorlagen von Xcode auf Ihrem Gerät ausführen.
Installation oder Erstellung von Qt
Um Qt zu installieren oder zu erstellen, befolgen Sie die allgemeine Anleitung „Erste Schritte mit Qt “.
Anwendungen über die Befehlszeile erstellen
Verwenden Sie CMake oder qmake, um festzulegen, wie Ihre iOS-Anwendung kompiliert werden soll. Sowohl CMake als auch qmake können eine „ xcodeproj “-Datei generieren, die anschließend über die Befehlszeile geladen und kompiliert werden kann.
Verwendung von CMake
Das Hilfsskript „ qt-cmake “ unter „ <Qt-dir>/<version>/ios/bin/ “ übernimmt für Sie die Einrichtung der Toolchain und der richtigen Architekturen.
Verwendung des Hilfsskripts „ qt-cmake “:
<Qt-dir>/<version>/ios/bin/qt-cmake <source-dir>Mit der generierten Datei „ xcodeproj “ können Sie entweder Xcode zum Erstellen Ihrer Anwendung verwenden oder den Befehl „ xcodebuild “ über die Befehlszeile ausführen. Um eine Liste der für Ihre Anwendung verfügbaren Ziele und Schemata anzuzeigen, führen Sie den folgenden Befehl aus:
xcodebuild -list -project <your-app>.xcodeprojFühren Sie anschließend ` xcodebuild build` aus und übergeben Sie dabei die Details Ihrer Anwendung:
xcodebuild build -allowProvisioningUpdates -project <your-app>.xcodeproj -scheme <your-scheme> -configuration Debug -destination "generic/platform=iOS" -destination-timeout 1 ENABLE_ONLY_ACTIVE_RESOURCES=NOVerwendung von qmake
Definieren Sie zunächst mit qmake, wie die Anwendung erstellt werden soll. Verwenden Sie anschließend die generierte Datei „ xcodeproj “, um die Anwendung entweder in Xcode oder über die Befehlszeile zu erstellen.
qmake <your-app>.proqmake erstellt eine Makefile-Hülle, die wiederum „ xcodebuild “ aufruft, sodass Sie mit dem Befehl „ make “ Ihre Anwendung erstellen können:
make -j8Beachten Sie, dass Sie das Projekt neu importieren müssen, wenn sich dessen Konfiguration ändert, beispielsweise beim Hinzufügen oder Entfernen von Quelldateien.
Anpassen der Xcode-Projekteinstellungen
Mit der qmake-Variablen „ QMAKE_MAC_XCODE_SETTINGS “ lassen sich die Xcode-Einstellungen anpassen, zum Beispiel:
development_team.name = DEVELOPMENT_TEAM
development_team.value = <your-team-id>
QMAKE_MAC_XCODE_SETTINGS += development_teamAuch andere qmake-Variablen sind nützlich:
QMAKE_TARGET_BUNDLE_PREFIX = com.<your-company>
QMAKE_BUNDLE = <your-app>Ausführen von Anwendungen in Xcode
Die von qmake und CMake generierten Xcode-Projekte unterstützen die Ausführung der Anwendung sowohl auf iOS-Geräten als auch im iOS-Simulator.
Hinweis: Da die Standardarchitektur der Qt-für-iOS-Simulatorbibliotheken „ x86_64 “ ist, muss die Anwendung auf Apple-Silicon-Macs unter Rosetta ausgeführt werden. Falls die Rosetta-basierten Ausführungsziele nicht im Menü „Ausführungsziele“ von Xcode aufgeführt sind, können sie über das Menü „ Product > Destination > Destination Architectures “ aktiviert werden.
Erstellen und Ausführen von Anwendungen mit Qt Creator
Informationen zum Einrichten und Ausführen von Qt-für-iOS-Anwendungen finden Sie in der Dokumentation zu „ Qt Creator “:
Beachten Sie, dass hierfür weiterhin eine funktionierende Xcode-Installation erforderlich ist.
Beispiele für iOS
Unter Qt Creator finden Sie getestete Beispiele für iOS. Verwenden Sie das Stichwort „ ios “, um im „ Qt Creator Welcome“-Modus nach Beispielen zu suchen. Beachten Sie, dass einige Beispiele möglicherweise nur über eingeschränkte Funktionalität verfügen.
Eine Liste der Beispiele, die bekanntermaßen auf iOS-Geräten funktionieren, finden Sie unter „Qt for iOS Examples“.
Verwandte Themen
Die folgenden Themen enthalten weitere Informationen zu Qt für iOS:
Verwendung von Objective-C-Code in Qt-Anwendungen
Clang, der für Anwendungen auf Apple-Plattformen verwendete Compiler, ermöglicht die Vermischung von C++- und Objective-C-Code. Um diesen Modus zu aktivieren, verwenden Sie die Erweiterung „ .mm “ für die entsprechenden Quelldateien und fügen Sie diese wie gewohnt zu Ihrem Projekt hinzu.
Mit CMake:
target_sources(myapp PRIVATE objc_code.mm)Mit qmake:
SOURCES += objc_code.mmSie können dann Objective-C-Frameworks aus der Apple Developer Library in Ihren Qt-Anwendungen verwenden.
Um Funktionen für den Rest Ihrer Anwendung verfügbar zu machen, ohne alle Ihre Quelldateien umbenennen zu müssen, deklarieren Sie Hilfsfunktionen in einer Header-Datei und implementieren Sie die Funktionen in einer Objective-C++-Quelldatei:
© 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.