Transwiki:發布App時自動屏蔽NSLog日誌列印

維基教科書,自由的教學讀本
跳至導覽 跳至搜尋

NSLog函數在Debug或Release的模式下都是有效的(為什麼蘋果這樣設計呢?一般在Release被屏蔽才對。),導致發布的App會帶來效率低下、消耗系統資源等問題。

為了解決這個問題,做了如下的設置:

/*創建DLog.h頭文件*/

#ifndef DEBUG
    #define NSLog(...) /* */
#endif

這裡需要說明下,DEBUG這個宏是在項目的「Build Settings」的"Preprocessor Macros"中定義。所以以上的代碼在Release模式下把NSLog給完全屏蔽了。

最後在項目的"...-Prefix.pch"文件中加入聲明進行預處理,如下:

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import "DLog.h"
#endif

完成上面的工作,那麼我們就可以放心使用NSLog了,不會在Release後再來騷擾我們啦,哈哈。