Apple Watch Series 4が今日届いたので、ペアリングさせるためにiPhoneの方もiOS 12にアップデートすることにしました(諸事情によりXcodeは今もアップデートできていません)。
デバイスをiOS 12にアップデートして、ホームに表示されるアプリ名が正しく表示されなくなってしまいました。
現象について
開発中のアプリ名がInfoPlist.stringsで指定している名前ではなくて{Product Name}の名前に変わってしまっていました。
仮にアプリ名が「私のアプリ」としてプロジェクト名が「MYAPPLICATION」とすると、ホームでアプリの下に表示される名前が「MYAPPLICATION」となってしまっている現象です。iOS 11では当然「私のアプリ」と表示されていました。(例えがわかりにくいかも)
私の端末だけの固有の問題かとも考えてましたが、別の方の端末でも同じ現象が発生しているところからして、iOS 12から発生するようになった現象のようです。
これまで、ホーム画面のアプリ名が、端末の言語設定が英語でも日本語表記だったアプリで、iOS12にしたら英語になったアプリがあるな。バグなのかなあ。
— 緒珠寺薬師 (@Gyoku) September 18, 2018
当該アプリについての情報
完全に日本国内向けでローカライズしていません。
Info.plistはProduct Name(デフォルト)のままで、InfoPlist.stringsの方に日本語のアプリ名を指定しています。iOS 11までは普通にアプリ名が表示されていましたが、iOS 12に上げたところProduct Nameが表示されるようになってしまいました。
解決
以下の方法で正しくアプリ名が表示されることを確認しました。
- プロジェクトのLocalizationsに
Japanese
を追加する
- InfoPlist.stringsにも
Japanese
を追加する
まとめ
以上のことから、iOS 12以降ではプロジェクトのLocalizationsに Base (English)
以外の言語がない場合には、InfoPlist.stringsは使わずにInfo.plistのDisplay Nameを使うと推測できました。
追記:LocalizationsにJapaneseを追加しなくても、 InfoPlist.stringsにJapanese
を追加するだけでアプリ名は表示されるようです!適宜読み飛ばしてください