我有一個NSLog替代方法,它輸出調用它的類以及名爲PLogging的類中稱爲PLog的行號和方法(選擇器)。它與從here取得的DLog完全相同,但名稱更改除外。編寫DLog
的優點是,在Release模式下編譯時,日誌調用會更改爲註釋,從而否定您將會受到的性能影響。我希望能夠使用它並將其保留在框架中,但能夠從我添加框架的項目中調用它。但在發佈模式下,仍然會將日誌調用編譯爲註釋。這可能嗎?框架類中有條件編譯的NSLog替代框架在框架之外使用
1
A
回答
2
我會建議一個白名單的方法:添加一個預處理器定義到您的調試配置,使DLog/Plog登錄到控制檯。在其他情況下,它轉向評論。
請看看this blog post這似乎指出你的問題。當然,假設你不想改變你實現你的功能的方式:宏。我引用了abit:「一個基本問題的例子是你想鏈接到一個同時具有Debug和Release版本的庫,因此在你的應用程序中你希望你的Debug版本鏈接到庫的Debug版本,並且您希望發佈版本鏈接庫的發佈版本。「
我寧願傾向於使用目標,麻煩看起來不舒服。
0
App Store不允許使用第三方框架。我假設你有一個靜態庫或源文件,你通過交叉項目引用添加到你的應用程序?
如果您已經爲您的調試配置設置了調試標誌併爲您的發佈配置取消設置了您的庫項目,那麼您所要做的就是爲您的應用項目使用相同的配置名稱,使用相同的配置構建。
+0
我已經爲iPhone和Simulator建立了一個靜態庫,可以將它們內置到一個* .framework中。你的答案將會起作用,但這對我以前的工作無能爲力。我希望當我以發佈模式構建項目時,PLog語句將被編譯成註釋。現在我已經根據處理器定義切換了它。 – FreeAsInBeer 2011-03-08 13:33:15
相關問題
- 1. Factory框架在沒有Visitor的框架之外是否有用?
- 2. 編譯android框架
- 3. 編譯VLCKit框架
- 4. Html5框架替代
- 5. jQuery構件替代框架
- 6. 現代的框架替代?
- 7. php在框架外部使用codeigniter框架組件
- 8. 替代框架和HTML中的內聯框架
- 9. 在框架中使用外鍵時發生框架:[IllegalStateException:No value]
- 10. 替代CSS的框架?
- 11. Flex框架的替代品
- 12. 共享嵌入式框架中的條件編譯代碼
- 13. 如何在沒有框架的情況下使用框架類運行代碼?
- 14. 有沒有zend框架的框架?
- 15. 編譯錯誤2框架
- 16. 錯誤編譯opencv框架
- 17. 無法編譯Mesos框架
- 18. 反編譯Obj C框架
- 19. 編譯Android框架(AOSP)
- 20. 替代HTML內聯框架
- 21. 玩框架2.0 renderArgs替代
- 22. 大氣框架,BroadcasterFactory.getDefault()替代
- 23. 替代Java GUI框架
- 24. 替代Rails驗證框架
- 25. 替代STAF/STAX框架
- 26. 框架內的框架WxPython
- 27. 框架內的框架
- 28. 如何使用OAuthConsumer框架編譯MGTwitterEngine?
- 29. 框架與Ruby框架類似
- 30. 使用chrome框架代替SockJS
權。我現在有這個,但它只能在框架內工作。所以一旦框架被編譯,有沒有辦法讓框架依賴於包含它的項目的預處理器定義? – FreeAsInBeer 2011-02-28 17:20:21
我看到了問題。如果您將模塊構建爲框架,則它已經預編譯,因此您無法使用此方法來打開/關閉日誌記錄。在這種情況下宏不起作用。如果你依賴這個機制,你可以構建你的框架的兩個版本:打開和關閉調試,並根據定義鏈接到你的項目中需要的版本。 – 2011-03-01 09:37:41
你能想到其他解決方案嗎?我認爲在釋放時必須記住將框架切換出來是件很麻煩的事情。更自動的東西,也許? – FreeAsInBeer 2011-03-03 16:36:41