はじめに
iOSでユーザーに対してカメラやマイクのアクセスや通知の許可をとる場合、info.plistに正しい記述をしないとアプリがクラッシュしてしまいます。
通常はXcodeでinfo.plistの記述をしますが、Unreal Engineの場合はプロジェクト設定から追加することができます。
本記事では、UEのプロジェクト設定からinfo.plistに追加する方法を紹介します。
開発環境
- Windows11
- UE5.3.2
Windowsのリモートビルドでパッケージ化している場合も、MacのXcodeからパッケージ化している場合も、やり方は同じです。
設定方法
Project Settings > Platforms > iOSを開きます。
BuildカテゴリにAdditional Plist Data
という項目があり、ここに記述することで設定にないプロパティを自由に追加することができます。
プロパティの一覧はこちらを見てください。
info.plistのプロパティを見ていると、そのプロパティに対する値の型で多いのがstring
とboolean
だったので、この2つを説明します。
stringの設定方法
例えば、特に設定をせずApp Storeにアプリを提出すると、アプリのリージョンがENになってしまいます。
これを修正するには、info.plistに次の記述をします。
<key>CFBundleDevelopmentRegion</key>\n<string>ja_JP</string>\n
このように設定したいプロパティをkeyで囲み、値をstringで囲みます。
booleanの設定方法
プロパティはstringと同じで、keyで囲みます。
<key>UIRequiresPersistentWiFi</key>\n<true />\n
上記のプロパティはアプリにWifi接続が必要かどうかを示すものです。
リージョンの設定、Wifi接続のプロパティを設定した場合は次のようになります。
確認方法
info.plistに追加した状態でiOSでパッケージ化します。
パッケージ化が終わったら、~/{Your Projetct}/Saved/StagedBuilds/IOS/Info.plist
を開いて、追加したプロパティが記述してあれば無事設定されています。
まとめ
Androidはクラッシュしないけど、iOSではクラッシュするという状況に陥った場合、ほとんどの場合はinfo.plistの設定忘れなので、マイクやカメラなど端末の機能を利用する場合は忘れないようにしましょう。
参考記事