XCode-複数のターゲット、複数の*国際化された名前?
-
05-07-2019 - |
質問
国際化された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>
右クリック&quot; Groups&amp;ファイル&quot; (Xcodeの左上)および「ターゲットメンバーシップ」を確認します。が表示されたら、ターゲットを通過し、それぞれの文字列の正しいセットが有効になっていることを確認します。
所属していません StackOverflow