🔬

今更で恐縮ですが、StoryboardのBase / Default調査隊

2024/02/06に公開

はじめに

StoryboardのBase / Defaultについていろいろな設定を行い、挙動を調べる。

環境

Xcode 15.2

プロジェクトの設定

言語設定は

  • English(Default)
  • Japanese
  • Korean

この3つに加えてBaseをONにしたりOFFにしたりする。

詳細は

Base
ありなし両方試す。Use Base InternationalizationをON/OFFと連動。

English
Defaultにする。ファイル有無の両方を試す。

Japanese
ファイルあり

Korean
ファイルなし

よって
Baseありなし、Defaultにファイルがありなしの掛け算の4パターンを試す。

走らせる環境

  • English
  • Japanese
  • Korean
  • Chinese (プロジェクト設定にない言語)

Baseあり Defaultにファイルあり

状態

プロジェクトの設定 ファイル
Base ◯ (storyboard)
English(Default) ◯ (strings)
Japanese ◯ (strings)
Korean
Chinese

結果

実行環境 結果
English English
Japanese Japanese
Korean English
Chinese English

Baseあり Defaultにファイルなし

状態

プロジェクトの設定 ファイル
Base ◯ (storyboard)
English(Default)
Japanese ◯ (strings)
Korean
Chinese

結果

実行環境 結果
English Base
Japanese Japanese
Korean Base
Chinese Base

Baseなし Defaultにファイルあり

状態

プロジェクトの設定 ファイル
Base
English(Default) ◯ (storyboard)
Japanese ◯ (storyboard)
Korean
Chinese

結果

実行環境 結果
English English
Japanese Japanese
Korean English
Chinese English

Baseなし Defaultにファイルなし

状態

プロジェクトの設定 ファイル
Base
English(Default)
Japanese ◯ (storyboard)
Korean
Chinese

結果

実行環境 結果
English エラー
Japanese Japanese
Korean エラー
Chinese エラー

まとめ

Baseあるとき

  1. 走らせている環境の言語ファイルがあればそれを使う
  2. なければDefaultの言語を見に行ってあればそれを使う
  3. なければBase

(内部的にはBaseをロード→上書きファイルを探索、かもしれませんが...)

Baseないとき

  1. 走らせている環境の言語ファイルがあればそれを使う
  2. なければDefaultの言語を見に行ってあればそれを使う
  3. なければエラー

Discussion