[解決済み] アプリケーションをリリースする前にNSLogを無効化する必要がありますか?
2022-08-26 17:20:11
質問
iPhone用アプリをリリースする際に
NSLog();
を無効にすると、パフォーマンスが向上するのでしょうか?
どのように解決するのですか?
一つの方法は、ビルドの設定に入り、デバッグの設定で "Preprocessor Macros" の値に次のような値を追加することです。
DEBUG_MODE=1
この作業はDebug版のみで、Beta版やRelease版では行わないようにしてください。そして、共通のヘッダーファイルで、次のようなことを行うことができます。
#ifdef DEBUG_MODE
#define DLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DLog( s, ... )
#endif
では、代わりに
NSLog
を使います。
DLog
をあらゆる場所で使用することができます。テストやデバッグをするときには、デバッグメッセージが表示されます。ベータ版や最終版をリリースする準備ができたら、これらすべての
DLog
の行は自動的に空になり、何も表示されなくなります。この方法では、手動で変数を設定したり、コメントとして
NSLogs
のコメントも必要ありません。ビルドターゲットを選択することで対処します。
関連
-
[解決済み] Xcodeエラー "Could not find Developer Disk Image" が発生する。
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] App Storeのアプリと連動させる方法
-
[解決済み] Xcode 6のバグ:Interface Builderファイル内の不明なクラス
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
-
[解決済み] Mobile Safariで電話番号のリンクを無効にする方法を教えてください。
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】Xcodeのプロセス起動に失敗しました。セキュリティ
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
[解決済み] iOS 8 UITableViewのセパレータインセット0が機能しない件
-
[解決済み] UIViewController のビューが表示されているかどうかを確認する方法
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] UIButtonのタイトルを左揃えにするにはどうしたらよいですか?
-
[解決済み] iphoneアプリのベータテストはどのように行うのですか?
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] UIImageのサイズを変更する最も簡単な方法?
-
[解決済み] UITextBorderStyleNoneを使用してUITextFieldのパディングを設定する
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン