2017-10-18 8 views
2

私は私のスキーマ(ステージング/生産)ここでObjective C/iOS開発で現在のスキーマに基づいて異なるapiキーをロードするにはどうすればよいですか?

に基づいて、私の正しいインターコムのAPIキーをロードしようとしているが、私の現在のコード

[Intercom setApiKey:@"xxxx" forAppId:@"xxx"]; 

は、まずあなたが持っているinitWithBundleURL

+0

あなたは、あなたのプロジェクトにターゲットを追加したのですか? –

+0

プロジェクトにターゲットを追加した場合は、「プリプロセッサマクロ」を作成し、マクロを使用してスキーマを区別することができます。 –

+0

はい私はすべてのスキームを設定しましたが、コードでこれをどうやって行いますか? –

答えて

4

でこれを呼んでいます両方のターゲットにマクロを作成します。

あなたのターゲットを選択 - >設定をビルド - >アップルLLVM - 前処理 - >前処理マクロ - >あなたはそれの価値を与える必要があり、その時点でマクロを作成するときに、あなたのマクロ

を作成します。ステージングターゲットではステージング値が1のときにステージングターゲットスキーマのアプリケーションを実行すると、マクロ名のように(例:STAGING = 1)、プロダクションターゲットにマクロ名を付けます(例:STAGING = 0)

あなたが値をステージングその時点で生産ターゲット・スキーマのアプリを実行すると、コード下の0

チェックされています

#if STAGING 
    [Intercom setApiKey:@"xxxx" forAppId:@"xxx"]; //set your staging api key 
#else 
    [Intercom setApiKey:@"xxxx" forAppId:@"xxx"]; //set your production api key 
#endif 
+0

これは完璧に働いてくれてありがとう –

関連する問題