はよく、私はちょうど私の挙上ローカライズの問題に直面し、問題点を明らかにするために実験を行うことにしました:iOSユニバーサルアプリのローカリゼーションxcode 4.バグ?
実験:
- はユニバーサルiOSアプリケーションを作成します。
- MainWindow_iPhone.xibとMainWindow_iPad.xibファイルの両方について、メインウィンドウのテキストを「My Universal iPhone(iPad)App」から「Hello」に変更します。
- iPhoneとiPadのシミュレータでアプリをビルドして実行します。両方とも "Hello"メッセージを表示しています。
- 変更(英語ローカライズがすでにあった)MainWindow_iPhone.xibためとMainWindow_iPad.xibの両方MainWindow_iPhone.xibとMainWindow_iPadのスペイン語バージョンのための「はいはい」と「こんにちは」から、メインウィンドウ上のテキストをスペイン語のローカライズを追加します。 xibファイル。
- シミュレータの言語をスペイン語に変更します。
- iPhoneとiPadのシミュレータでアプリをビルドして実行します - どちらもまだ "Hello"メッセージを表示しています - 何?!?!?!
修正:
- 開いているプロジェクトのプロパティタブを "ビルドフェーズ" に進んでください。 「コピーバンドルリソース」で
- XIBファイルを追加します。プロジェクトのes.lprojディレクトリにMainWindow_iPhone.xibとMainWindow_iPad.xibファイルを検索し、それらに
- ビルドを追加し、iPhoneやiPadのシミュレータでアプリを実行する - の両方の「はいはい」を表示メッセージ - OK
よく結論できますか?新しいローカライゼーションをxibファイルに追加するとき、xcodeはこのファイルを追加してバンドルリソースのターゲットをコピーするのを忘れています。別のローカリゼーション(例ではスペイン語)でアプリを実行した後、iOSはスペイン語のローカリゼーションを見つけることができません(もちろん、Xcodeはそれをコピーするのを忘れました!!!)xibの英語版をロードします。
手動でローカライズされたバージョンのファイルを追加するとプロジェクトツリーに混乱を招く - 追加されたファイルはプロジェクト階層に表示されますが、ローカライズされたxibファイルを展開すると既に表示されます。 (例では、プロジェクト構造ツリーにMainWindow_iPhone.xibとMainWindow_iPad.xibがありますが、ローカライズされたMainWindow_iPhone.xibファイルまたはMainWindow_iPad.xibファイルを展開した後、iPhoneおよびiPadファイルグループで利用できます)
またはam私は何か恋をしていますか?
クリーンプロジェクトの今後のバージョンで修正することができます。シミュレータの内容をリセットします。 – JoePasq