xCode 4.6 で複数のストーリーボードとベース ローカリゼーションを使用しています。実際私は
やった:
1)プロジェクト情報のローカリゼーションを編集します:「ベース国際化を使用する」をチェックし、言語を追加しました:英語、中国語
2) 「anotherstoryboard.storyboard」という名前の新しいストーリーボードを作成します
3) ベースの国際化を使用して、新しいストーリーボード (File Inspector / Localize - Localize) をローカライズします。
4) アプリ デリゲートで、ローカライズされたストーリーボードを次のように動的に読み込みます。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"anotherstoryboard" bundle:nil];
ケース 1: => 動作する
新しいストーリーボード (ステップ 3) では、Localization Chinese - Interface Builder Cocoa Touch Storyboard を選択します。
それは機能しますが、ローカライズされたストーリーボードを維持し、IB で編集する必要があります。私はそのような動作を望んでいません。基本的な国際化を使用し、.strings ファイルをローカライズしたいだけです。
ケース 2: => クラッシュ
新しいストーリーボード (ステップ 3) では、Localization Chinese - Localizable Strings を選択します。
ストーリーボードが見つからないと言ってアプリがクラッシュする
'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'anotherstoryboard' in bundle NSBundle </Users/me/Library/Application Support/iPhone Simulator/6.1/Applications/8E036C84-6058-4420-94B4-1726E1F686AD/HelloWorld.app> (loaded)'
私が間違っていることは何ですか?ケース 2 で iOS が適切なストーリーボードを見つけられないのはなぜですか?