2012-02-19 59 views
0

我寫了一個完美的應用程序,當我通過運行按鈕直接從xcode運行應用程序時。這構建了二進制的調試版本。當我構建歸檔(發佈版本)時,應用程序將無法運行。我知道,構建的唯一區別是我的DLog()宏的結果。發佈構建問題

#ifdef DEBUG 
# define DLog(...) NSLog(__VA_ARGS__) 
#else 
# define DLog(...) do {} while (0) 
#endif 
#ifdef DEBUGVERBOSE 
# define VLog(...) NSLog(__VA_ARGS__) 
#else 
# define VLog(...) do {} while (0) 
#endif 
#define ALog(...) NSLog(__VA_ARGS__) 

我不知道如何開始調試此問題。任何指針從哪裏開始?

+1

運行發佈版本時,在日誌文件中出現什麼錯誤?另外,當你簡單地放置沒有ifdefs的定義會發生什麼情況(這樣你就可以爲兩個版本獲得相同的結果)? – sch 2012-02-19 02:29:45

回答

0

嘗試在您的#ifdef s之前添加#undef DEBUG#undef DEBUGVERBOSE

此外,請嘗試刪除集合DEBUG=0DEBUGVERBOSE=0,編譯您的項目(調試)並在模擬器上運行應用程序。

這樣,您就可以知道問題是否來自您的代碼的這一部分。