3

これをしばらく研究していて、何をすべきか完全にはわかりません。

ユーザーがデバッグモードをオンまたはオフに切り替えられるようにしたい。NSLogsのデバッグモードでは、コンソールに出力されます。

現在、プリプロセッサ(DEBUG)を使用してビルド設定でデバッグモードをオンまたはオフに設定でき、次のコードを使用してNSLogを「ブロック」します。

#ifdef DEBUG
    NSLog(@"If you can see this then debug is on");
#endif

設定ページにトグルスイッチを作成してユーザーからの入力を取得しましたが、この入力を使用してDEBUGを未定義/再定義する方法がわかりません。何か案は?

これが可能かどうかはわかりませんので、別の解決策もいただければ幸いです。

どうもありがとう :)

4

2 に答える 2

6

プリプロセッサディレクティブは使用しないでください。using とは、定義されていない場合、そのコードがまったくコンパイルされないことを#ifdef DEBUG意味します。DEBUG

代わりに、プリプロセッサディレクティブを、グローバル変数をチェックする単純なifステートメントに置き換える必要があります(または、少なくとも、それが解決策になる可能性があります)。

于 2011-09-13T14:29:23.797 に答える
0

コードブロックは、デバッグ用またはリリース用にビルドしているかどうかのみをチェックし、それに応じてビルドすると思います。

リリースモードになるデバイスでビルドできますが、それ以外の場合は、シミュレータをリリースモードで実行することはできないと思います。

たぶん、シミュレーター用のアプリケーションを手動で構築し、パックされたファイルを移動して、xcodeを実行せずにシミュレーターでのみ実行するようにしますが、それは合理的ではないと思います。

于 2011-09-13T14:31:55.010 に答える