有人可以過去如何免除NSLog從應用程序的發佈版本?另外,發佈版本中留下的評論是否重要?謝謝!不包括NSLog的發佈版本的iPhone應用程序
回答
Use a macro like DLog
to wrap NSLog
, and turn it off in Release builds.
#ifdef DEBUG
# define DLog(...) NSLog(__VA_ARGS__)
#else
# define DLog(...) /* */
#endif
評論完全沒有關係。他們只在你的源代碼中,而不是編譯的輸出。您不要將您的源代碼提交給Apple,只提交您的應用程序的內置副本。
我看到的唯一問題是你不能將它追溯地應用到已經有很多NSLog的應用程序。 – EmilioPelaez 2012-04-09 03:08:59
是的,但搜索和替換工作正常。或者,如果你按照鏈接,它顯示如何在終端中運行'sed'命令來做同樣的事情。 – 2012-04-09 03:15:36
Xcode的項目的新版本通常包括宏定義DEBUG
建設一個調試版本的時候,所以最簡單的方法是去:
#ifdef DEBUG
NSLog(@"Safe and sound ...");
#endif
這其實並不重要,但是,在我的經驗有時你不希望控制檯嘔吐一堆日誌,你可能只在某些場合需要它們。
這是有效的,但是爲每個NSLog添加一個#ifdef /#endif會很麻煩... – EmilioPelaez 2012-04-09 03:08:17
這不是NSRE的行爲嗎?我認爲這是整點...
- 1. 的NSLog與應用程序的發佈
- 2. iPhone應用程序中斷髮布版本不在調試
- 3. Xcode:僅發佈iPhone版本的應用程序更新?
- 4. 發佈iPhone應用程序的語言版本
- 5. 包括應用程序的版本號從pom.xml的應用程序包
- 6. 開發iPhone應用程序的付費版本的試用版
- 7. 發佈iphone應用程序
- 8. 發佈新版本的Android應用程序(版本)
- 9. iOS版:通用的應用程序 - 發佈的iPhone只
- 10. 發佈不同版本的相同應用程序
- 11. C# - 不包括項目發佈版本中的單元測試
- 12. iPhone應用程序的測試版本
- 13. 在選定的國家發佈新版iphone應用程序
- 14. 腳本我的iOS應用程序的發佈版本?
- 15. iOS應用程序內購買 - 發行版中的「無效產品ID」,不包括開發版本
- 16. 切換應用程序調試版本和MultiDexApplication發佈版本
- 17. iPhone版發行應用程序包中的圖標爲空
- 18. 獲取maxSatisfying版本,包括使用節點semver的預發佈
- 19. Web發佈的應用程序腳本HTML服務/ JQueryUI應用程序不起作用。開發版本確實
- 20. 我們可以發佈iphone應用程序的兩個版本嗎?
- 21. Rails應用程序的佈局不包括
- 22. 將多個版本的Android應用程序發佈爲一個應用程序
- 23. 發佈我的應用程序的exosive ios5版本
- 24. 開發iPhone和iPad分開的應用程序版本
- 25. 使用Xcode的預發佈版本提交iOS應用程序
- 26. 發佈使用舊SDK版本構建的iOS應用程序
- 27. 在應用程序購買不工作在發佈版本
- 28. iPhone發佈版本崩潰
- 29. 是否發佈新版本的應用程序刪除舊版本的文件?
- 30. Android即時發佈版本不包括基礎APK
可能的重複http://stackoverflow.com/questions/9063100/xcode-ios-how-to-determine-whether-code-is-running-in-debug- release-build – 2012-04-09 02:18:00
大多數人都創建了自己的DebugLog宏或者其他一些調試標誌。當你在它的時候,你可以自動插入'__PRETTY_FUNCTION__'的'%s'來列出日誌來自哪裏。 – 2012-04-09 02:20:39
這篇文章被標記爲iPhone。爲什麼你關心你的代碼是否寫入控制檯?沒有人會看到它。 – anthropomorphic 2012-04-09 02:26:36