質問

国際化されたiPhoneプロジェクトがあります。さまざまな $ {lang} .lproj / InfoPlist.strings ファイルには、1つのキー CFBundleName =" My App Name" があります。

単一のターゲットでは問題なく動作しますが、複数のターゲットで動作させることはできません。

メインターゲット用にいくつかの翻訳された InfoPlistMyApp.strings ファイルに加えて、いくつかの InfoPlistMyApp Lite .strings ファイルをライトバージョン。しかし、私はそれを設定する方法を理解することはできません。 InfoPlist.strings の名前は石で設定されているようですので、動的に置き換えることはできません。

アイデアはありますか

役に立ちましたか?

解決

面倒な場合、これは非常に簡単です。複数のInfoPlist.stringsをターゲットごとに1つ有効にし、各セットが異なるXcodeグループにある限り、それぞれを国際化できます。

次のようなディレクトリ構造を設定します。

.../AppName/
            en.lproj/InfoPlist.strings  <-- Contains CFBundleDisplayName
            it.lproj/InfoPlist.strings  <-- ...
            ...
.../AppNameLite/
            en.lproj/InfoPlist.strings  <-- ...
            it.lproj/InfoPlist.strings  <-- ...
            ...

これらのファイルをXcodeグループにインポートすると、次のようになります。

alt loading= alt>

右クリック&quot; Groups&amp;ファイル&quot; (Xcodeの左上)および「ターゲットメンバーシップ」を確認します。が表示されたら、ターゲットを通過し、それぞれの文字列の正しいセットが有効になっていることを確認します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top