2012-01-31 13 views
18

私のアプリケーション用デバッグビューのみをデバッグビルドで使用したいのですが、 リリースビルドでは使用しません。私は自分のコードを変更したくない。それは私が いくつかのコンパイラフラグをチェックすることができますか?これはリリースビルドであり、私がほしいと思うコードをいくつか除外している場合です。 はデバッグビルド用です。あなたのプロジェクトでiOS:デバッグビルド用のオプションのコードフラグメント

答えて

30

そこにあなたがそのようなDEBUG=1として、唯一のあなたのデバッグビルドで変数を定義することができ、その後、あなたのコードでこれを使用して、設定を構築し、プリプロセッサは、セクションを定義して探します。

#if DEBUG 
    NSLog(@"This will only print in debug!"); 
#endif 

だけビルド設定の同じ場所で同じ定義が0に設定されていることを確認してください

+0

タイプミス:#ifdefの – Tomen

+1

#ifdefのは別のオプションですが、私は私が言ったように代わり –

+2

をする#if使用することを好むを使用私の前のコメントは、 '#ifdef'ではなく'#if'を使うのが好きです。使用するプログラマにはまったく任務があり、それぞれに長所と短所があります。私の好みは、各フラグが常に定義されているが、そのフラグがプロジェクト内で全く定義されているかどうかを調べるのではなく、そのフラグの状態を示す0または1のメソッドを使用することです。 –

26

プロジェクトがデバッグ用にビルド設定を確認して、「デバッグ」が設定されていることを確認してください - プロジェクトを選択してビルド設定タブをクリックしてください。 'DEBUG'を検索し、実際にDEBUGが設定されているかどうかを確認します。

Build Settings tab of my project settings

その後、条件付きでソースファイルにデバッグ用のコードが

#ifdef DEBUG 

// Something to log your data here or even add a whole subview to see it on the device 

#else 

// 

#endif 
+1

を使用するのは危険だと考えていますが、あなたがアプリケーションをappleに提出し、DEBUG = 0に設定するのを忘れた場合はどうしたらよいでしょうか? – meda

関連する問題