2012-02-19 60 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,编译您的项目(调试)并在模拟器上运行应用程序。

这样,您就可以知道问题是否来自您的代码的这一部分。