Privacy - Tracking Usage Description(NSUserTrackingUsageDescription)の多言語対応する時に地味な沼り方したので、対応方法をメモ。
一言語なら、info.plist
に追加するだけでいいのだけど、多言語だとLanguage追加して割り当てる必要がある。
手順は以下の通り。
Localizationsから言語を追加
まずはビルドして、出来たXCodeプロジェクトを開く。
開いたら、PROJECTにあるUnity-iPhoneを選択し、info内Localizationsの+から対応したい言語を追加する。
今回は日本語、英語を対応したいので English、Japanese を追加する。
各言語のInfoPlist.stringsの設定
左上のフォルダマークをクリックし、ファイル一覧を表示したら、
その中の Unity-iPhone Tests > Supporting Files > InfoPlist.strings を選択する。
選択したら、ウィンドウ右のLocalizationに、対応したい言語にチェックが入っているか確認する。(入っているならOK)
そうすると、InfoPlist.strings
の下に各言語のファイルが増えているかと思う。
(例:InfoPlist.strings (Japanese)
)
ここで絶対忘れないでほしいのが、各言語のInfoPlist.strings
の、Target Membershipの
にチェックを必ず入れること。
Unity-iPhoneにチェックが入っていないと、言語ごとに置き換えされず、info.plist
にある規定値を使用して表示してしまう。
自分はここに気づかずかなり沼りました。。。
変更する項目を入力
後は変更する項目を各言語のInfoPlist.strings
へ書き込んでいくだけ。
今回はPrivacy - Tracking Usage Description(NSUserTrackingUsageDescription)を対応したいので、下のように記述する。
NSUserTrackingUsageDescription = "表示するテキストをここに入力";
例として下のような感じに入力する。
今回のと関係ないが、CFBundleDisplayNameを置き換えるとアプリ表示名が変わる。