iOS用Qt
Qt for iOS は、Apple 社のiPhoneやiPad、Apple Vision Pro 向けのアプリケーションをビルドすることができます。
Qt for iOS で開発するには、スタートガイドに従ってください。
サポートされる構成
Qt 6.8 では、以下のバージョンのビルド環境と ランタイムターゲットプラットフォームがサポートされています。
ビルド環境 | ターゲットプラットフォーム | アーキテクチャ |
---|---|---|
Xcode 15(iOS 17 SDK)以上 | iOS 16以上(iOS 18を含む) | armv8 ,arm64 |
注意: iOS に関する Apple の前方互換性の約束は、一般的に Qt アプリケーションが新しいオペレーティング・システムのリリース上でも正常に動作することを保証します。発生する可能性のある問題は、Qt のブランチポリシーとサポートポリシーに従って優先順位付けされ、スケジュールされます。新しいオペレーティングシステムの機能のサポートは、通常パッチリリースには含まれません。
自動テストで使用する対象デバイス | |||
---|---|---|---|
デバイス | OS バージョン | アーキテクチャ | フォームファクター |
iPhone 12 | iOS 17 | armv8 (arm64) | モバイル |
iPhone 11 | iOS 17 | armv8(arm64) | モバイル |
iPad Pro、第3世代 | iOS 17 | armv8(arm64) | タブレット |
iPad、第6世代 | iOS 17 | armv8(arm64) | タブレット |
ビルド環境
iOSのビルド環境は、AppleのXcodeアプリケーションによって提供され、ツールチェーン(コンパイラ、リンカ、その他のツール)と、ビルドとリンクを行うiOSプラットフォーム-SDK(ヘッダとライブラリ)の両方が含まれています。これらは一緒に、あなたのアプリケーションがどのようにビルドされるかを定義します。
Apple は一般的に、アプリケーションは最新の SDK に基づいてビルドすることを推奨(App Store の場合は必須)しています。新しいXcodeのバージョンは古いmacOSのバージョンでは動作しないかもしれないので、これはあなたのシステムのmacOSのバージョンをアップグレードする必要があるかもしれません。
注意: iOS のビルド環境は、常に使用している Xcode のバージョン(ツールチェーンと SDK)によって定義されます。
動作変更のオプトアウト
あなたのアプリケーションをビルドするために最新のXcodeバージョンとSDKを使用する1つの注意点は、iOSのシステムフレームワークが、あなたがアプリケーションをビルドしたSDKに基づいて動作の変更を有効にするかどうかを決定することがあるということです。
このテクニックにより、Appleは古いSDKに対してビルドされたバイナリが、より新しいiOSリリース上でリグレッションなしに実行され続けることを保証することができます。
例えば、macOS 10.14 Mojaveでダークモードが導入されたとき、macOSは10.14 SDKに対してビルドされたアプリケーションのみをダークモードをサポートするものとして扱い、それ以前のSDKに対してビルドされたアプリケーションはデフォルトのライトモードの外観のままにしました。
古いSDKに対して古いXcodeバージョンでビルドすることは、このような動作の変更を回避する1つの方法ですが、最後の手段であり、アプリケーションに問題を回避する他の方法がない場合にのみ適用してください。
対象プラットフォーム
iOS用のビルドでは、弱いリンクと呼ばれるテクニックを使用して、最新のプラットフォームSDKのヘッダーとライブラリに対してアプリケーションをビルドすることができます。バイナリがビルドされた SDK よりも低い iOS バージョンで実行される場合、Qt は実行時にプラットフォームの機能が利用可能かどうかをチェックしてから利用します。
理論的には、これはリリースされたすべてのiOSバージョンでアプリケーションを実行することを可能にしますが、実用的な(そして技術的な)理由から、アプリケーションのデプロイメントターゲットとして知られるこの範囲には下限があります。デプロイメントターゲット以下の iOS バージョンでバイナリを起動すると、Qt はエラーメッセージを表示し、アプリケーションは実行されません。
Qtはデプロイメントターゲットを CMAKE_OSX_DEPLOYMENT_TARGET
またはQMAKE_MACOSX_DEPLOYMENT_TARGET
変数で表現します。デフォルトでは、Qt がサポートする最小のデプロイメントターゲットに設定されています。
デプロイメントターゲットを上げる必要があるのは、Qt のデフォルトよりも高い iOS バージョンで追加された API を使用していて、@available
のチェックで実行時の使用を保護していない場合だけです。
CMake でデプロイメントターゲットを上げるには
set(CMAKE_OSX_DEPLOYMENT_TARGET "42.0")
または qmake を使用します:
QMAKE_MACOSX_DEPLOYMENT_TARGET = 42.0
注意: Qt が設定したデフォルト値よりもデプロイメントターゲットを下げないでください。Qt が期待する iOS のバージョンよりも低いバージョンにバイナリをデプロイすると、実行時にクラッシュする可能性があります。
Apple プラットフォームでの SDK ベースの開発に関する詳細は、Apple の開発者向けドキュメントを参照してください。
はじめに
Xcode のインストール
Xcode は、Qt for iOS を使って開発するために必要なものです。App Store からインストールするか、Apple の開発者向けウェブサイトからダウンロードできます。
インストールしたら、Xcodeを一度実行して、必要な依存関係をインストールさせてください。
その後、xcode-select
ツールを使用して、システムが正しい Xcode インストールを使用していることを確認してください。
$ xcode-select -print-path /Applications/Xcode.app/Contents/Developer
出力が予想と一致しない場合は、Xcode のインストールを明示的に選択してください。
$ sudo xcode-select --switch /Applications/Xcode.app
Xcode に付属するシミュレータで Qt アプリケーションをテストする場合は、これだけで十分です。しかし、物理的なデバイス上でアプリケーションを実行したり、App Store でアプリケーションを公開したりするには、Apple Developer Program に参加し、開発者証明書とプロビジョニング・プロファイルを設定する必要があります。
Qt アプリケーションをビルドする前に、Xcode が正しくセットアップされていることを、例えば、標準の Xcode アプリケーションテンプレートをデバイス上で実行するなどしてテストしてください。
Qt のインストールとビルド
Qt をインストールまたはビルドするには、一般的なQt を始めるガイドに従ってください。
コマンドラインからアプリケーションをビルドする
CMakeまたはqmakeを使って、iOSアプリケーションのビルド方法を定義します。CMake と qmake はどちらもxcodeproj
ファイルを生成し、コマンドラインから読み込んでビルドすることができます。
CMakeを使う
<Qt-dir>/<version>/ios/bin/
にあるqt-cmake
コンビニエンス・スクリプトが、ツールチェーンと正しいアーキテクチャのセットアップを行ってくれます。
qt-cmake
コンビニエンス・スクリプトを使用する:
<Qt-dir>/<version>/ios/bin/qt-cmake <source-dir>
生成されたxcodeproj
ファイルを使用して、Xcode を使用してアプリケーションをビルドするか、コマンドラインからxcodebuild
を実行します。あなたのアプリケーションで利用可能なターゲットとスキームのリストについては、以下のコマンドを実行してください:
xcodebuild -list -project <your-app>.xcodeproj
そして、xcodebuild build
を実行し、アプリケーションの詳細を渡します:
xcodebuild build -allowProvisioningUpdates -project <your-app>.xcodeproj -scheme <your-scheme> -configuration Debug -destination "generic/platform=iOS" -destination-timeout 1 ENABLE_ONLY_ACTIVE_RESOURCES=NO
qmakeを使う
まず、qmakeを使ってアプリケーションのビルド方法を定義します。次に、生成されたxcodeproj
ファイルを使用して、Xcode またはコマンドラインからアプリケーションをビルドします。
qmake <your-app>.pro
qmakeは、xcodebuild
を呼び出すラッパーのMakefileを作成するので、make
を実行してアプリケーションをビルドすることができます:
make -j8
ソース・ファイルの追加や削除など、プロジェクトのセットアップが変更された場合は、再インポートする必要があることに注意してください。
Xcode プロジェクト設定のカスタマイズ
QMAKE_MAC_XCODE_SETTINGS
qmake 変数は、例えば、Xcode の設定をカスタマイズするために使用することができます:
development_team.name = DEVELOPMENT_TEAM development_team.value = <your-team-id> QMAKE_MAC_XCODE_SETTINGS += development_team
他の qmake 変数も便利です:
QMAKE_TARGET_BUNDLE_PREFIX = com.<your-company> QMAKE_BUNDLE = <your-app>
Xcodeでアプリケーションを実行する
qmakeとCMakeによって生成されたXcodeプロジェクトは、iOSデバイスとiOSシミュレータの両方でアプリケーションを実行することをサポートしています。
注意: Qt for iOS シミュレータライブラリのデフォルトアーキテクチャはx86_64
ですので、アプリケーションは Apple Silicon Mac 上の Rosetta で実行する必要があります。もし、Rosetta ベースの実行先が Xcode の実行先メニューに表示されていない場合は、Product > Destination > Destination Architectures
メニューから有効にすることができます。
アプリケーションのビルドと実行Qt Creator
Qt for iOS アプリケーションのセットアップと実行方法については、Qt Creator のドキュメントを参照してください:
- Qt Creator:iOS デバイスを接続します。
これには、Xcode のインストールが必要です。
iOSの例
Qt Creator では、iOS のテスト済みサンプルを検索できます。Qt Creator Welcome モードでサンプルを検索するには、ios
キーワードを使用してください。例によっては機能が制限されている場合があります。
iOS デバイスで動作することが確認されているサンプルのリストについては、Qt for iOS Examples を参照してください。
関連トピック
Qt for iOS の詳細については、以下のトピックを参照してください:
QtアプリケーションでObjective-Cコードを使う
Apple プラットフォームのアプリケーションに使用されるコンパイラである Clang では、C++ と Objective-C のコードを混在させることができます。このモードを有効にするには、関連するソースファイルに.mm
拡張子を使用し、通常通りプロジェクトに追加します。
CMakeを使用します:
target_sources(myapp PRIVATE objc_code.mm)
qmakeの場合:
SOURCES += objc_code.mm
そうすれば、QtアプリケーションでAppleのDeveloper LibraryにあるObjective-Cフレームワークを使うことができます。
すべてのソースファイルの名前を変更することなく、アプリケーションの残りの部分に機能を公開するには、ヘッダーでヘルパー関数を宣言し、Objective-C++のソースファイルで機能を実装します:
© 2025 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.