LoginSignup
7
1

More than 5 years have passed since last update.

QtでiOS

Posted at

QtでiOSアプリを作るとき、色々面倒だったので、調べたことをメモっておきます。QtのiOSは日本語情報少ないですね。
使ったバージョンは、Qt 5.11、5.12、Xcode 10あたり。

QtでiPad専用アプリを作るとき。

.proファイルに、下記を書きます。

ios {
    #1:iPhone 2:iPad 1,2:universal
    QMAKE_APPLE_TARGETED_DEVICE_FAMILY = 2
}

3以降もあるみたいだけど、とりあえず使う予定もなかったので詳しく調べていない。

Qtでiosのアイコンを設定する。

XCodeでアイコンを登録した~.xcassetsを作ります。
次に、.proファイルに下記を書きます。

ios {
    QMAKE_ASSET_CATALOGS += ios/Images.xcassets
}

QMLでiPhoneXのノッチ部分にも描画するとき

普通にWindowを使ってもフルスクリーンになりません。
そのままだとリジェクトされるので、下記の手順でフルスクリーンにします。

  • スプラッシュスクリーン用のxibファイルをXcodeで真面目に作ります。
  • Info.plistに以下の設定を書きます。
Info.plist
    <key>UILaunchStoryboardName</key>
        <string>スプラッシュスクリーン用のStoryboardのファイル名、拡張子なしで。</string>
  • Window QMLのflagsに Qt.MaximizeUsingFullscreenGeometryHint を設定する。
  • iPhoneXのセーフエリアに配慮してオブジェクトを配置する。
    上下44ptはボタン類置いちゃダメだよ!回転にも対応するんだよ。

iPhoneXでノッチ部分に暗い色で描画してしまい、ステータスが見えなくなったとき。

これはQtと関係ない、Info.plistの設定ネタですが…。
QtでiOSアプリを作るには、Xcode経由じゃなくてInfo.plistを直接いじることが多いと思うので、書いておきます。
ノッチ部分に暗い色で描画してしまいステータスが見えなくなったときは、ステータスバーのスタイルをLIGHTに変更するといいです。

Info.plist
    <key>UIViewControllerBasedStatusBarAppearance</key>
        <false/>
    <key>UIStatusBarStyle</key>
        <string>UIStatusBarStyleLightContent</string>

あーiOSはめんどくさい。

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1