自動控制NSLog的輸出打印小技巧

前提:在XCode做開發(fā)調(diào)試時(shí)往往需要打印一些調(diào)試信息做debug用赵誓,大家知道當(dāng)打印信息的地方多了之后在模擬器上跑可能不會有什么問題戳稽,因?yàn)槟M器用的是電腦的硬件但是當(dāng)應(yīng)用跑在設(shè)備上時(shí)這些輸出語句會在很大程度上影響應(yīng)用的性能沿后,針對這種問題可以寫一些宏來控制這些調(diào)試信息的輸出闯参。

在release版本禁止輸出NSLog內(nèi)容

因?yàn)镹SLog的輸出還是比較消耗系統(tǒng)資源的,而且輸出的數(shù)據(jù)也可能會暴露出App里的保密數(shù)據(jù)寸莫,所以發(fā)布正式版時(shí)需要把這些輸出全部屏蔽掉捺萌。

我們可以在發(fā)布版本前先把所有NSLog語句注釋掉,等以后要調(diào)試時(shí)储狭,再取消這些注釋互婿,這實(shí)在是一件無趣而耗時(shí)的事!還好辽狈,還有更優(yōu)雅的解決方法慈参,就是在項(xiàng)目的prefix.pch文件里加入下面一段代碼,加入后刮萌,NSLog就只在Debug下有輸出驮配,Release下不輸出了。

如何實(shí)現(xiàn):

在-Prefix.pch(pch全稱是“precompiled header”着茸,也就是預(yù)編譯頭文件壮锻,該文件里存放的工程中一些不常被修改的代碼,比如常用的框架頭文件涮阔,這樣做的目的提高編譯器編譯速度猜绣。我們知道當(dāng)我們修改一個工程中某個文件代碼時(shí)候,編譯器并不是重新編譯所有所有文件敬特,而是編譯改動過文件的掰邢,假如pch中某個文件修改了,那么pch整個文件里包含的的其他文件也會重新編譯一次伟阔,這樣就會消耗大量時(shí)間辣之,所以它里面添加的文件最好是是很少變動或不變動的頭文件或者是預(yù)編譯的代碼片段;)文件中添加


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

上段代碼的意思就是 用宏指令做一個判斷皱炉,如果DEBUG為真怀估,則編譯#ifdef到#endif宏定義,否則編譯器就不編譯合搅;

以上純內(nèi)容純屬復(fù)制粘貼多搀,如有雷同,對历筝,沒錯酗昼,就是抄你的!謝謝梳猪!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末麻削,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子春弥,更是在濱河造成了極大的恐慌呛哟,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匿沛,死亡現(xiàn)場離奇詭異扫责,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)逃呼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門鳖孤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來者娱,“玉大人,你說我怎么就攤上這事苏揣』器ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵平匈,是天一觀的道長框沟。 經(jīng)常有香客問我,道長增炭,這世上最難降的妖魔是什么忍燥? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮隙姿,結(jié)果婚禮上梅垄,老公的妹妹穿的比我還像新娘。我一直安慰自己输玷,他們只是感情好哎甲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著饲嗽,像睡著了一般炭玫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上貌虾,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天吞加,我揣著相機(jī)與錄音,去河邊找鬼尽狠。 笑死衔憨,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的袄膏。 我是一名探鬼主播践图,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼专筷,長吁一口氣:“原來是場噩夢啊……” “哼虐沥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起常潮,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤斥黑,失蹤者是張志新(化名)和其女友劉穎揖盘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锌奴,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兽狭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箕慧。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡服球,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出颠焦,到底是詐尸還是另有隱情有咨,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布蒸健,位于F島的核電站,受9級特大地震影響婉商,放射性物質(zhì)發(fā)生泄漏似忧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一丈秩、第九天 我趴在偏房一處隱蔽的房頂上張望盯捌。 院中可真熱鬧,春花似錦蘑秽、人聲如沸饺著。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幼衰。三九已至,卻和暖如春缀雳,著一層夾襖步出監(jiān)牢的瞬間渡嚣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工肥印, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留识椰,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓深碱,卻偏偏與公主長得像腹鹉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子敷硅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 不直接用NSLog 摘要: 公司中不直接使用NSLog,而是利用宏定義自己的打印函數(shù),將該打印函數(shù)寫在項(xiàng)目的.pc...
    ttdiOS閱讀 715評論 2 7
  • 一.統(tǒng)計(jì)應(yīng)用中代碼的總行數(shù) 每一個程序員都想在開發(fā)完成之后知道總共寫了多少行的代碼功咒,這里有一個比較簡單的方法。 1...
    小霍同學(xué)閱讀 1,318評論 0 0
  • 前提:在XCode做開發(fā)調(diào)試時(shí)往往需要打印一些調(diào)試信息做debug用绞蹦,大家知道當(dāng)打印信息的地方多了之后在模擬器上...
    青春已給下一代閱讀 1,526評論 0 1
  • 前提:在XCode做開發(fā)調(diào)試時(shí)往往需要打印一些調(diào)試信息做debug用航瞭,大家知道當(dāng)打印信息的地方多了之后在模擬器上跑...
    zfl1024閱讀 3,106評論 1 1
  • PCH介紹 PCH文件,是一個預(yù)編譯文件坦辟,常用來處理頭文件引用刊侯,宏定義等。開發(fā)過程中锉走,一般將整個工程都使用的頭文件...
    暴走碼農(nóng)閱讀 757評論 0 2