專案中的NSLog
在專案的過程中,經常遇到要在除錯的時候列印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版本則不列印。
我們釋出到appstore 上的版本均是release版本,這裡簡單說下這兩個版本的差異。
release 是發行版本,比debug版本要小一些,他們呼叫兩個不同底層庫,debug 包含的資訊多,可以斷點除錯,單步執行,使用使用TRACE/ASSERT等除錯輸出語句,
但是release 版本不包含除錯資訊,執行速度比較快。
另外在此處設定的DEBUG 引數可以在下面的路徑進行設定:工程->Target->Build Setting ->Preprocessor Macros。預設系統已經給出了DEBUG的引數。如果要增加新的引數,則在哪裡進行增加。
相關文章
- Objective-C 中的NSLogObject
- NSLog的實現
- ios 將NSLog日誌重定向輸出到檔案中儲存iOS
- 專案中遇到的bug
- 專案管理系統中的任務和專案專案管理
- NSLog函式重寫函式
- 專案管理中的自下而上估算專案管理
- 理想中的專案管理app專案管理APP
- 專案中的運籌帷幄
- Web專案中的ThreadLocalWebthread
- IT專案中的要素關係
- 專案管理中,專案干係人的角色和責任專案管理
- 專案經理在專案管理中的重點工作(轉)專案管理
- 專案管理在HIS專案實施中的應用(轉)專案管理
- 在開發專案中進行有效的專案管理(轉)專案管理
- 專案計劃在專案管理中的重要作用(轉)專案管理
- IT專案中的ROI:專案經理的朋友還是敵人(轉)
- 專案中的 Git 使用規範Git
- 替換專案中的包名
- 專案管理中的六力模型專案管理模型
- 關於 Spartacus 專案中的 CmsPageGuardService
- Web Worker在專案中的妙用Web
- 去除專案中的SVN標記
- JSF專案中seam的配置JS
- 整合專案中的風險管理 (轉)
- IT專案管理中的風險控制(轉)專案管理
- HarmonyOS 專案中泛型的使用泛型
- 【專案中遇到的zookeeper的問題】
- 專案管理中,專案進度與成本控制的重要性專案管理
- CRM中的專案管理:搭建CRM與專案一體化管理專案管理
- 專案實戰之gradle在實際專案中的使用Gradle
- 軟體專案管理在小軟體專案中的應用專案管理
- 捕獲NSLog日誌小記
- 在 Windows 中編譯 Github 中的 GO 專案Windows編譯GithubGo
- 軟體專案管理的研究及在專案開發中的應用專案管理
- [原創]專案過程管理在專案管理中的重要性專案管理
- 專案實戰之Rxjava、RxBinding在實際專案中的使用RxJava
- 虛擬專案辦公室-網際網路浪潮中的專案管理(轉)專案管理