Help us understand the problem. What is going on with this article?

iOSのスプラッシュスクリーン(LaunchImage)の多言語化

More than 1 year has passed since last update.

スプラッシュスクリーンをローカライズしようとして色々試して最終的にうまくいった方法のメモ。
丸1日試行錯誤した。。。
iOS10で動作確認済み。

ちなみに下記のURLの方法はiOSのバージョンが古いのかうまくいかなかった。
http://www.upquark.co.jp/archives/1561
http://source.hatenadiary.jp/entry/2014/06/19/101629

1. アプリが対応する端末だけ、それぞれのサイズの Default.png の各画像を用意する。

  • Default.png (320 x 480)
  • Default@2x.png (640 x 960)
  • Default-568h@2x.png (640 x 1136)
  • Default-667h@2x.png (750 x 1334)
  • Default-736h@3x.png (1242 x 2208)
  • Default-Portrait.png (768 x 1024) iPad用
  • Default-Landscape.png (1024 x 768) iPad用
  • Default-Portrait@2x.png (2048 x 2732) iPad Pro用
  • Default-Landscape@2x.png (2732 x 2048) iPad Pro用

2. Info.plist を直接エディタで開き、下記を対応する言語分追加する

すでに記述があればスキップ。

    <key>CFBundleLocalizations</key>
    <array>
        <string>ja</string>
        <string>en</string>
    </array>

3. それぞれの画像ファイルをローカライズする

Xcode上に1の画像ファイルを追加し(場所はどこでも良さげ)、選択してから、右カラムの中のLocalizeボタンで全てローカライズする。
対応する言語全てにチェックを入れる。

4. Info.plist ファイルを直接エディタで開き、下記を追加する。

対応する端末、しない端末、OSバージョン、端末の向き等あれば適宜追加・編集する。

    <key>UILaunchImages</key>
    <array>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{320, 480}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-568h</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{320, 568}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-667h</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{375, 667}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-736h</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{414, 736}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-Portrait</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageSize</key>
            <string>{768, 1024}</string>
        </dict>
        <dict>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
            <key>UILaunchImageName</key>
            <string>Default-Landscape</string>
            <key>UILaunchImageOrientation</key>
            <string>Landscape</string>
            <key>UILaunchImageSize</key>
            <string>{768, 1024}</string>
        </dict>
    </array>

これでできているはず。
ちなみに一度スプラッシュを表示させると、iPhoneの設定より言語を変更してもキャッシュが残ってスプラッシュは変更されない。アプリを再インストールすると変更される。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした