私のiPhoneアプリケーションは、本番、ステージング、テストの3つの異なるサーバーに接続します。アプリケーションが接続するサーバーに応じて使用する構成値は多数あります。たとえば、FacebookアプリID、TestFlightチームキーなどです。
GITにすべての設定を設定し、コンパイルまたはリリース時にアプリケーションが使用する構成のみを選択したいのですが。たとえば、テストが選択されている場合、[製品]-> [ Xcodeで実行]はテストに接続するアプリのデバッグバージョンを実行し、 [製品]->[アーカイブ]はテストにも接続するリリースバージョンでIPAファイルを作成します。
デバッグとリリースよりも多くのビルド構成を作成したくありません(ビルド構成/ランタイム構成の6つの異なる組み合わせを意味するため)。私が見ているように、理想的な解決策は、本番、テスト、ステージングの3つのスキームがあり、各スキームがアプリケーションで使用する3つのInfo.plistファイルの1つを選択することです。これにより、さまざまな実行時設定だけでなく、バックエンドサーバーに応じてさまざまなアプリケーションバージョンまたはバンドル識別子を定義できるようになります。しかし、別のビルド構成を選択する以外の方法でアーカイブアクションを構成できるようには見えません。それが何らかの方法で達成できるかどうか、何かアイデアはありますか?
編集:もう少し明確にするために、本番/ステージング/テストはバックエンドサーバーであり、iOSアプリケーションのバージョンではありません。iOSアプリには、 debug/releaseの2つのバージョンがあります。言い換えると、本番サーバーに接続しているアプリケーションのデバッグバージョンを実行して、そのサーバーから返されたJSONによって引き起こされたクラッシュをデバッグしたい場合があります。わかりやすくするために、サーバーにA、B、Cという名前を付けることもできます。