代码完成在 #if 和 #endif 中不起作用
环境:最新Xcode版本:4.6.2
#if defined(LITE_VERSION)
//code here has no or very limited auto completion
#endif
目标设置为精简版,因此宏 LITE_VERSION 实际上已经定义。
我已经手动删除了所有派生数据。(顺便说一下,这个特定项目的组织者窗口中的删除派生数据按钮是灰色的)
如果我只是在源代码中添加一个#define LITE_VERSION,代码完成将起作用。但是,我认为这是一个肮脏的修复并且容易出错。
这个问题在各种 Xcode 版本中持续了一年多,现在我有越来越多的代码要为 lite 版本编写,我真的很感激一个永久的解决方案。
PS:在写这个问题的同时,我也在不断的排查问题,终于找到了解决方案,所以我把这个作为一个自我回答的问题。希望它会帮助其他人。