我有一個名爲MyApp的鏈接到一個靜態庫在MyLibrary 我已經添加了在MyLibrary項目Xcode和添加的在MyLibrary應用程序目標爲MyApp的目標依賴關係。 這一切都很好,我可以設置斷點,我很高興。的Xcode 4:在從屬目標定義一個預處理宏
的事情是,我希望有條件的日誌庫:
#ifdef DEBUG
# define MYDebug(msg, ...) NSLog(@"\nDEBUG -> %@ \n(%s:%d)",[NSString stringWithFormat:msg, ## __VA_ARGS__], __PRETTY_FUNCTION__,__LINE__);
#else
# define MYDebug(msg, ...)
#endif
所以我有兩個構建配置爲我的圖書館: - 調試有「DEBUG = 1」的目標的構建設置在「預處理宏」 - PROD無關
而且在MyLibrary目標設定爲建立與調試構建配置。
這工作正常,如果我建立靜態庫(.a),並將其包含在項目中。 但是,如果它是由目標依賴項構建的,似乎沒有定義DEBUG(MYDebug不記錄任何內容)。
我也嘗試在MyApp的構建設置中設置DEBUG = 1,但它不起作用。
有什麼我錯過了,或另一種方式來做到這一點?
是的,不知何故,你忽視了一些東西 - 你試圖做的是相當基本和基本的東西。你使用的是什麼版本的XCode?你有沒有嘗試'清理'(Apple-Shift-k)你的目標? – hooleyhoop
XCode 4.也許它是基本的,但我是圖書館開發新手,我很困惑,因爲它工作,除非庫是從另一個項目構建的,作爲依賴項。我會盡量清理,但我懷疑這會有所幫助。 – Julien
我只是表示你完全正確地期望這能解決問題。清潔常常有幫助,所以請讓我們知道。 – hooleyhoop