1. ホーム
  2. アイオス

[解決済み】DEBUG/RELEASEビルドでコードが実行されているかどうかを判断する方法は?

2022-04-16 06:50:39

質問

クレジットカードの機密データを処理するアプリを作っています。

私のコードがデバッグモードで実行されている場合、このデータをコンソールに記録し、いくつかのファイルダンプを作成したいと思います。

しかし、appstoreの最終バージョン(つまり、リリースモードで実行されているとき)では、これらのすべてを無効にすることが不可欠です(セキュリティ上の危険性)。

私の質問にできる限り答えようと思いますので、質問は次のようになります。 「この解決方法は正しいのか、あるいは最良の方法なのか?

// add `IS_DEBUG=1` to your debug build preprocessor settings  

#if( IS_DEBUG )  
#define MYLog(args...) NSLog(args)  
#else  
#define MYLog(args...)  
#endif  

解決方法は?

プロジェクトのビルド設定「Apple LLVM - Preprocessing」、デバッグ用の「Preprocessor Macros」で、以下のことを確認してください。 DEBUG プロジェクトを選択し、ビルド設定タブをクリックしてください。以下の項目を検索してください。 DEBUG を確認し、本当に DEBUG が設定されています。

しかし、注意してください。 DEBUG が DEBUG_MODE のような別の変数名に変更されているのを見るかもしれません。

その後、ソースファイルに条件付きでDEBUGのコードを記述します。

#ifdef DEBUG

// Something to log your sensitive data here

#else

// 

#endif