BLOGブログ

2017.05.12UE4UE/ Mobile

[UE4]plistファイルをカスタマイズする

以前Android開発において必要となるAndroidManifest.xmlをUE4での編集方法についてご紹介しました。

実はiOSでもAndroidManifest.xmlと似たようなファイルでplist(プロパティリスト)と呼ばれるファイルが存在します。

今日はそのplistファイルをUE4での設定方法についてご紹介いたします。

 

○~~~.plistとは

プロパティリストは MacOSXやiOSで利用することができるファイル形式の1つです。MacOSXでは主にユーザの情報を設定するのに使われる事が多くWindowsのレジストリと似たような使われ方をしています。iOSではInfo.plistという名前で定義されアプリの情報を設定するのに使われることが多くそれこそ、AndroidManifest.xmlのようにアプリ名やバージョン番号などを記載しています。

iOSもAndroid同様にこのplistは自動で生成されるので基本気にすることなく開発を進めることが可能です

 

○パッケージングしたAPKが使用してる.plistの場所

プロジェクト名/Intermediate/iOS以下

プロジェクト名_Info.plistという名前であります。

 

○UE4がInfo.plistを生成してるコード

Engine\Source\Programs\UnrealBuildTool\IOS\UEDeployIOS.cs

にあるUEDeployIOSクラス内のGenerateIOSPListで確認できます。

 

○カスタマイズする:エディタ

plistに関して編集できるものはほぼエディタ上で完結することができます

プロジェクト設定(Project Settings)/ プラットフォーム(Platform)/iOSで確認できます。

 iOS/カテゴリー名 エディタ上の名前


info.plistでの記述

 内容説明
 Orientation  SupportsPortraitOrientation

SupportsUpsideDownOrientation


UIInterfaceOrientationPortrait

UIInterfaceOrientationPortraitUpsideDown

 サポートするデバイスの向きです。

SupportsPortraitOrientationはiPhoneのホームボタンが下にきたとき
SupportsUpsideDownOrientationはホームボタンが上にきたときの
回転をサポートします。

デバイスを縦持ちのアプリを作成する場合は基本この2つにチェックを入れます。

 Orientation  SupportsLandscapeLeftOrientation

SupportsLandscapeRightOrientation


UIInterfaceOrientationLandscapeLeft

UIInterfaceOrientationLandscapeRight

 サポートするデバイスの向きです。

SupportsLandscapeLeftOrientationはiPhoneのホームボタンが左にきたとき

SupportsLandscapeRightOrientation はホームボタンが右にきたとき

の回転をサポートします

 Bundle Information BundleDisplayName

CFBundleDisplayName

 ホーム画面に表示されるタイトルを設定します
 Bundle Information  BundleIdentifier

CFBundleIdentifier

 アプリを識別するためのユニークなバンドルIDを設定します。
 Bundle Information  BundleName

CFBundleName

 アプリのバンドル名を指定します。基本BundleDisplayNameを設定します。
 Bundle Information  VersionInfo

CFBundleShortVersionString

 アプリのバージョン番号を指定します。

基本は3つの数値をピリオドで区切った値を指定します。

例、1.0.0

 Build  Support armv7 in Shipping

Support armv7s in Shipping

Support arm64 in Shipping


armv7

armv7s

arm64

シッピングビルド時に使用するアーキテクチャを指定します。

複数チェックすることは可能ですが2つ以上チェックされてた場合は内部で[armv7]

だけ使用するようになっています。なので変更したい場合はいずれか1つだけチェックを入れるようにしないといけません。

また[Support ~~~ in Development]という項目もありますがこれは開発用で使用するものです。

切り替えはProjectSettings/Packaging/Project/BuildConfigurationをShipping以外にセットすることで使用されます。

 Rendering Supports Open GLES2

opengles-2

Open GLES2 を使用するかのチェックフラグです。使用しない(false)の場合は

MinimumiOSVersionをios8にする必要があります。

 

Rendering Support Forward Rendering with Metal (A7 and up devices)

metal

 Metalを使用するかのチェックフラグです
OS Info MinimumiOSVersion

MinimumOSVersion

 アプリが対応できる一番下位のOSバージョンを指定します
Online Enable Facebook Support

FacebookAppID


fb~~~(~~~がFacebookAppID)

Facebookと連携するかのフラグです。

EnableFacebookSupportにチェックが入っている状態でAppIDをセットすることでplistに書き込まれます。

Online Enable Remote Notifications Support


UIBackgroundModes

remote-notification

 プッシュ通知を設定可能にするかのチェックフラグです。
 Extra PList Data Additional Plist Data  文字列でplistを直接、追加記述することができます。

エディタ上では改行できないので

別のテキストエディタなどで編集後改行部分に\r\nを指定してセットしてください

 

 

○カスタマイズする:プラグイン使用する

プラグイン名 Mobile Location Services – IOS Implementation

IOSで位置情報サービスを使用するためのプラグイン

使用するには以下のメッセージを記述する必要があります。

カテゴリー名 エディタ上の名前

info.plistでの記述

 内容説明
LocationServices  LocationAlwaysUsageDescription

NSLocationAlwaysUsageDescription

常に許可(バックグラウンド実行中でも位置情報を取得する状態)
LocationServices LocationWhenInUseDescription

NSLocationWhenInUseUsageDescription

このApp使用中のみ許可

○カスタマイズする:自作LaunchScreen.xibを使用する

IOS開発をしたことがある方には馴染み深いxib(※1)ですが、UE4では使用しません。

ただスプラッシュ画面(アプリ起動時の画面)用で使用するLaunchScreen.xibは以下のディレクトリに配置することで使用することができます。

 

プロジェクト名/Build/IOS/Resources/Interface/LaunchScreen.xib

 

 

※1xibとは?

【Swift】XIBの使い方。部品のファイルを作って後で再利用できるようにする。(Swift 2.1、XCode 7.2)

http://nobuo-create.net/manifest/