[解決済み】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
関連
-
[解決済み] ウィンドウ階層にないビューを持つUIViewControllerでUIViewControllerを表示しようとする
-
[解決済み] Objective C - 値で渡す、参照で渡す
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] スタックトレースとは何ですか、またアプリケーションのエラーをデバッグするためにスタックトレースをどのように使用できますか?
-
[解決済み] ChromeでコードからJavaScriptのブレークポイントを設定する方法は?
-
[解決済み] C#のif/thenディレクティブによるデバッグとリリースの比較
-
[解決済み】Gradleを使用してリリース署名付きapkファイルを作成する方法は?
-
[解決済み】#if RELEASEは、C#の#if DEBUGのように動作するのでしょうか?
-
[解決済み】デバッグビルドとリリースビルドの性能差について
-
[解決済み] デバッグとリリースの性能比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】クラスは両方で実装されており、どちらかが使用されることになります。どちらが未定義か
-
[解決済み] "CFNetwork SSLHandshake failed (-9806)" の解決方法について
-
[解決済み] EXC_CORPSE_NOTIFY シンボルのクラッシュが発生しました、追跡するには?
-
[解決済み] データソースからのセルの取得に失敗しました。
-
[解決済み] Objective-C ブロックパラメータ 発行 このブロック宣言はプロトタイプではありません
-
[解決済み] dispatch_queue_create のキュー属性とは?
-
[解決済み] iOS 9 : ユニバーサルアプリの警告「アプリがフルスクリーンを必要としない限り、すべてのインターフェイスの向きをサポートする必要があります」。
-
[解決済み] Xcode 6: iOS 8.1 The Developer Disk Imageをマウントできませんでした。
-
[解決済み] プロダクションコードでNSLog()を使ってはいけないというのは本当ですか?
-
[解決済み] Swift: PREPROCESSORフラグ(`#if DEBUG`など)を使ってAPIキーを実装する方法とは?