0

テスト チームのために、Prod_URL と Stage_URL を使用してアプリケーションをビルドし、アーカイブする必要があります。今、私はConstant.hファイルを使用していますが、次のようなコードがあります。

//for stage
#define SERVICE_URL @"myStageUrl.com"
/*
//for prod
#define SERVICE_URL @"myProdUrl.com"
*/

また、コメント アウト行を常に変更して、アプリの 2 つの異なるバージョンをビルドできるようにしています。

だから今、私はそれを自動的にやりたいです。

MyAppStage と MyAppProd のような 2 つのターゲットを作成します。そして、これら 2 つの行を切り替えるには、実行スクリプトを作成する必要があると思います#define。しかし、スクリプトの書き方がわかりません。

または、その状況のより良い方法はありますか?

どうも、

4

2 に答える 2

4

2 つの個別のターゲットがある場合は、これらの定義をプロジェクト プロパティ自体に配置できます。これを行うには、プロジェクトのプロパティに移動します。編集するターゲットをクリックし、[ビルド設定] タブをクリックして、プリプロセッサ マクロを検索します。そこに必要なものを定義すると、そのターゲットのすべてのクラスで表示されます。

もう 1 つのオプションは、同じプリプロセッサ マクロ ビルド設定を使用して、 のマクロを設定することですSTAGE。次に、Constant.h に次のようなものを含めることができます。

//for stage
#ifdef STAGE
#define SERVICE_URL @"myStageUrl.com"
#else
//for prod
#define SERVICE_URL @"myProdUrl.com"
#endif
于 2014-01-28T14:33:48.797 に答える
2

ステージングのターゲットに、プリプロセッサ マクロを追加STAGING_BUILDします。生産目標を変更しないでください。

今、あなたのコードで:

#ifdef STAGING_BUILD

//for stage
#define SERVICE_URL @"myStageUrl.com"

#else

//for prod
#define SERVICE_URL @"myProdUrl.com"

#endif

次に、ビルドするために選択されたターゲットに基づいて、必要な行のみがコンパイルされます。

于 2014-01-28T14:34:28.073 に答える