IOS-添加宏定義上架自動屏蔽NSLog

在X-code做開發(fā)調(diào)試往往需要打印一些調(diào)試信息做debug用,大家都知道打印信息的地方多了之后再模擬器上跑可能不會有什么問題,因為模擬器用的是電腦的硬件。但是,當(dāng)應(yīng)用在設(shè)備上運(yùn)行時這些輸出語句會很大程度上影響應(yīng)用的性能。針對這種問題可以寫一些宏(一改全改)來調(diào)試這些調(diào)試語句信息的輸出。省得發(fā)布之前還得全工程搜索屏蔽這些暴力調(diào)試語句。

為什么發(fā)布之前要屏蔽NSLog

  1. NSLog 消耗系統(tǒng)資源(暴力調(diào)試)
  2. 輸出數(shù)據(jù)可能暴露app保密數(shù)據(jù)

在Release版本下禁止輸出NSLog內(nèi)容
在預(yù)處理文件(.pch)添加下面代碼塊

#if DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#define debugMethod() NSLog(@"%s",__func__)、
#else
#define NSLog(...)
#define debugMethod()
#endif

上面代碼的意思就是: 用宏指令做一個判斷,如果DEBUG為真,則編譯#ifdef到#endif宏定義,否則編譯器就不編譯。

如何設(shè)置DEBUG和RELEASE


x-code正上面工具欄product->Scheme->Edit Scheme->Bulid Configuration設(shè)置成debug,此刻打印NSLog,如果設(shè)置成release,不打印NSLog。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容