私はXCodeプロジェクトでこの問題を解決しました。これは、あなたと同じ問題に取り組んでいると思います。これがお役に立てば幸いです。このソリューションには、同じコードベース(異なるアプリ名)から構築され、アプリの名前を含めて完全にローカライズされた2つのターゲットが含まれています。( Growth(フランス語:Croissance、スペイン語:Crecer )と呼ばれる私のフリーミアムアプリとGrowth +(フランス語:Croissance +、スペイン語:Crecer + )と呼ばれる有料バージョンを構築します。
InfoPlist.string
また、ファイル(アプリの名前のみが含まれている)を見つけました。ソリューションでサブフォルダーを使用し、ターゲットを変更して、関連するサブフォルダーからのInfoPlist.stringsのローカライズされたセットを含めることで問題を回避しました。具体的には、私はこの構造を持っています:
根
+-en.lproj
¦ +-Localizable.strings
¦ +-SomeXib.xib
+-es.lproj
¦ +-Localizable.strings
¦ +-SomeXib.xib
+-fr.lproj
¦ +-Localizable.strings
¦ +-SomeXib.xib
+-OnlyInAppA
¦ +-en.lproj
¦ ¦ +-InfoPlist.strings
¦ +-es.lproj
¦ ¦ +-InfoPlist.strings
¦ +-fr.lproj
¦ +-InfoPlist.strings
+-OnlyInAppB
¦ +-en.lproj
¦ ¦ +-InfoPlist.strings
¦ +-es.lproj
¦ ¦ +-InfoPlist.strings
¦ +-fr.lproj
¦ +-InfoPlist.strings
+-AppA.plist
+-AppB.plist
また、ターゲット間の唯一の違い(異なるプリプロセッサシンボルと異なる.plistファイルを除く)は、AppAのビルド設定にOnlyInAppAの下のInfoPlist.stringsファイルが含まれているのに対し、AppBのビルド設定にはOnlyInAppBの下のInfoPlist.stringsファイルが含まれていることです。
私が使用した命名規則(OnlyInAppA / OnlyInAppBフォルダー、AppB / AppB plistファイル)は、私の個人的な意見では、これを満足のいくアプローチにするのに十分明白です。
編集:
これらの2つのXCode4スクリーンショットを参照して、ターゲットで変更された設定を正確に見つける場所を確認してください。
ターゲットビルド設定では、別のplistファイルが指定されています(注:新しいターゲットを追加すると、XCodeが自動的にこれを行います)
ターゲットビルドフェーズの[バンドルリソースのコピー]セクションで、関連するOnlyInAppXサブフォルダーからInfoPlist.stringsのバージョンを選択します(このスクリーンショットのInfoPlist.stringsの横にある灰色のテキストに注意してください。これにより、他のターゲットの別の場所が表示されます) 。+/-ボタンを使用してこれを実現し、ファイルを目的のファイルに置き換えます。