iOS用Qt
QtのiOSポートにより、iPhone、iPad、iPod TouchなどのiOSデバイス上でQtアプリケーションを実行することができます。
サポートされる構成
以下の構成がサポートされています。
対象プラットフォーム | アーキテクチャ | ビルド環境 | |
---|---|---|---|
iOS 16、17、18 | armv8 ( )arm64 | Xcode 15 (iOS 17 SDK)、 | Xcode 16(iOS 18 SDK) |
自動テストで使用する対象デバイス | |||
---|---|---|---|
対象デバイス | OSバージョン | アーキテクチャ | フォームファクター |
iPhone 12 | iOS 16 | armv8 (arm64) | モバイル |
iPhone 11 | iOS 16 | armv8(arm64) | モバイル |
iPad Pro、第3世代 | iOS 15 | armv8(arm64) | タブレット |
iPad、第6世代 | iOS 14 | armv8(arm64) | タブレット |
はじめに
Qt は iOS 用アプリケーションのビルド、テスト、デプロイをサポートします。Qt アプリケーションは通常、CMakeまたはqmakeビルドツールを使用して定義します。どちらのツールも、.xcodeproj
ファイルを生成し、コマンドラインやXcodeからロードしてビルドすることができます。Qt Creatorは、iOS 用の CMake および qmake プロジェクトのビルド、実行、デバッグ、プロファイリングも直接サポートします。
Qt アプリケーションの最小デプロイメントターゲットはSupported Platforms で指定されています。
開発環境のセットアップ
Qt のインストーラーはDownloadsページからダウンロードできます。詳細については、「Qt を始める」を参照してください。
Qtをインストールする前に、まずXcodeをインストールする必要があります。Xcode は Mac App Store にあります。
注意: Apple が推奨しているように、App Store 向けのアプリケーションをビルドする際には、常に最新の Xcode バージョンを使用する必要があります。実際には、Xcode のシステム要件により、Qt でアプリケーションを開発するには macOS の最新バージョンも必要です。
Mac または Xcode に付属するシミュレータで Qt アプリケーションを実行する場合は、これだけで十分です。しかし、モバイルデバイス上でアプリケーションを実行したり、App Store でアプリケーションを公開したりするには、Apple Developer Program に参加し、開発者証明書とプロビジョニングプロファイルを設定する必要があります。最も簡単な解決策は、任意のApp ID(*
)を取るプロファイルを使用することです。
Qt アプリケーションをビルドする前に、Xcode が正しくセットアップされていることを、例えば、標準的な Xcode のアプリケーションテンプレートの一つをデバイス上で実行することで、テストする必要があります。
コマンドラインからのアプリケーションのビルド
iOS アプリケーションのビルド方法を定義するには、CMake または qmake を使用します。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>
Qt Creator でアプリケーションをビルドする
Qt Creator のマニュアルには、Apple のモバイルデバイス用アプリケーションのセットアップ方法と実行方法が記載されています:
前述の通り、Xcode がインストールされている必要があります。
Xcodeでアプリケーションを実行する
qmakeとCMakeによって生成されたXcodeプロジェクトは、iOSデバイスとiOSシミュレータの両方でアプリケーションを実行することをサポートしています。
注意: Qt for iOS シミュレータライブラリのデフォルトアーキテクチャはx86_64
ですので、アプリケーションは Apple Silicon Mac 上の Rosetta で実行する必要があります。もし、Rosetta ベースの実行先が Xcode の実行先メニューに表示されていない場合は、Product > Destination > Destination Architectures
メニューから有効にすることができます。
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++のソースファイルで機能を実装します:
// objc_code.h QString localizedHostName(); // objc_code.mm #include <Foundation/NSHost.h> QString localizedHostName() { return QString::fromNSString(NSHost.currentHost.localizedName); }
iOSの例
Qt Creator では、iOS のテスト済みサンプルを検索できます。Qt Creator Welcome モードでサンプルを検索するには、ios
キーワードを使用してください。いくつかのサンプルは機能が制限されている可能性があることに注意してください。
iOS デバイスで動作することが確認されているサンプルのリストについては、Qt for iOS Examples を参照してください。
関連トピック
Qt for iOS の詳細については、以下のトピックを参照してください:
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権はそれぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。