? ? ? ?在項目的過程中矮瘟,經(jīng)常遇到要在調試的時候打印log徒欣,但是上線或是release 的時候不需要去顯示log 的情況,此時你辛辛苦苦寫了那么多的log灭返,你要么就手動注釋掉,要么就是設一個開關變量坤邪,企圖用這個總開關開啟熙含。其實可以充分利用宏定義進行設置
? ? ? ?步驟比較簡單,只需要 在ProjectName_Prefix.pch 中追加你對應的宏定義艇纺,不用import 就可以直接使用了怎静。
宏定義寫法如下:
#ifdef DEBUG
#define LOG(...) NSLog(__VA_ARGS__);
#define LOG(...) NSLog(@"%s Line %d: \n %@ \n\n", __func__, __LINE__, [NSString stringWithFormat:__VA_ARGS__])
#else
#define LOG(...);?
#define LOG_METHOD;
#endif
這樣設置后,只需要在Product ->Scheme->Edit Scheme ->info選擇喂饥,是release ,還是debug版本即可消约。如果debug 版本,則答應log员帮,若release版本則不打印或粮。
我們發(fā)布到appstore 上的版本均是release版本,這里簡單說下這兩個版本的差異捞高。
release 是發(fā)行版本氯材,比debug版本要小一些,他們調用兩個不同底層庫硝岗,debug 包含的信息多氢哮,可以斷點調試,單步執(zhí)行型檀,使用使用TRACE/ASSERT等調試輸出語句冗尤,
但是release 版本不包含調試信息,運行速度比較快。
另外在此處設置的DEBUG 參數(shù)可以在下面的路徑進行設置:工程->Target->Build Setting ->Preprocessor Macros裂七。默認系統(tǒng)已經(jīng)給出了DEBUG的參數(shù)皆看。如果要增加新的參數(shù),則在哪里進行增加背零。