1

プログラムが開発環境で実行されているかどうかを知る方法はありますか?Flurry Analyticsを使用していて、別のアプリIDを渡したいので、開発中にテストでデータが汚れることはありません。

私が欲しいのはこのようなものです:

Boolean isDevEnv = .... (is this a test in the simulator or device,
                         OR is it a real user that downloaded the 
                         app through the app store?)
if (isDevEnv)
  [FlurryAnalytics startSession:@"firstAppId"];
else
  [FlurryAnalytics startSession:@"secondAppId"];

明確にするために、これは私が求めているものではありません。なぜなら、私は実際のデバイスとシミュレーターを使用してテストしているからです。

4

4 に答える 4

2

ビルド設定では、ビルド環境に応じてフラグを設定する必要があります。

次に、#ifdefと#defineを使用してappidを設定します。

#ifdef DEBUG
#    define APPID ...    
#else
#    define APPID ...
#endif
于 2012-05-25T15:58:02.270 に答える
0

ビルド設定で、AppStoreリリースバージョンの新しいフラグを定義します。次に、を使用#ifdefして、コンパイル時にどのappidを使用するかを決定します。

于 2012-05-25T15:51:43.507 に答える
0

DEBUGフラグと環境を使用したくない場合はDEBUG、新しいビルド構成(重複したリリース構成)を作成し、ビルド設定でプリプロセッサーマクロにFlurryAnalyticsフラグを追加します。コードチェックif(FlurryAnalytics)で。この新しいリリースビルド構成を使用してipaを作成する新しいスキームをXCodeで作成します。

于 2012-05-25T15:55:32.053 に答える
0

これは、デフォルトでXodeによって行われているようです。プロジェクトのビルド設定で、Apple LLVM compiler 3.1 - Preprocessing(これはXcode 4.3.2にあり、将来の参照用に)と呼ばれる設定DEBUGに値が入力されます1

したがって、私は実際には何もする必要はありませんでした。コード(私の場合はAppDelegateのdidFinishLaunchingWithOptionsメソッド)でこれだけです。

[FlurryAnalytics startSession:DEBUG ? @"firstAppId" : @"secondAppId"];
于 2012-05-25T16:21:33.417 に答える