5

私のアプリケーションのInfo.plistファイルには、約 20/30 のキーが含まれています。実装している外部 SDK では、そのアプリ キーを に設定するInfo.plist必要がありますが、デバッグ、エンタープライズ配布、およびリリース スキームには別のキーが必要です。

Info.plistファイルの 3 つの複製を維持する (およびすべてのターゲットで同一である他のすべてのキーを複製する) ことなく、への条件付き追加を作成する方法はありますか?

基本的に私が望むのは、plist現在のベースとまったく同じものであり、その後、この新しいキーのみを含む追加の新しい-Debug-DistributionおよびReleaseものです。私が避けようとしているのは、すべてのキーの繰り返しです。これは、将来新しいキーを追加するのが面倒になるためです。

これは可能ですか?

4

1 に答える 1

1

あなたが試すかもしれないいくつかの異なることがあります。

アプリのビルド前に実行される Xcode 実行スクリプト ビルド前に自動的に実行されるスクリプトです。3 つの重複する plist ファイルが InfoA.plist、InfoB.plist、InfoC.plist と呼ばれ、すべて完全に重複しているとします。プロジェクトをビルドすると、InfoA.plist の内容が InfoB.plist と InfoC.plist に複製されます。これを行うには、シェル スクリプトを作成するための知識が必要ですが、スクリプトは非常に単純です。

スクリプト内のファイルを複製して名前を変更できます。または、コマンド ライン ツールを使用して、メイン ファイルの内容を複製ファイルにコピーすることもできます。plist ファイルの内容を変更するために使用できる 2 つのコマンド ライン ユーティリティは、plutil とhttps://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/PlistBuddy.8.htmlです。これらのリンクが役立つ場合があります:スクリプトから Xcode プロジェクトにファイルを追加しますか?

スキームを変更してプレアクションを追加する スキームを使用して、ビルドにプレアクションを追加することもできます。上記と同じことができますが、ビルド フェーズ スクリプトではなくプレアクションとして構成することができます。

役立つリンクがいくつかあります:依存関係の前に xcode でスクリプトを実行する方法は? https://www.objc.io/issues/6-build-tools/build-process/Xcode: ソースコードを直接変更するすべてのビルドの前にスクリプトを実行しますが、「ビルド前に xcode run script」を検索することもできますその他のリンクについては。

于 2015-12-13T17:58:42.450 に答える