gpt4 book ai didi

ios - xcode 代码完成在 #if 和 #endif 中被破坏

转载 作者:行者123 更新时间:2023-11-29 03:47:40 26 4
gpt4 key购买 nike

代码补全在 #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 版本编写,我真的很感谢永久的解决方案。

P.S:我在写这个问题的同时,也在继续排查问题,终于找到了解决方案,所以我把这个作为一个自答题。希望它能帮助其他人。

最佳答案

编辑:Apple 确认这是一个错误。

编辑:代码完成只工作了一段时间,然后停止工作,真的很奇怪。

原答案:

终于找到真正的原因了。

看来我为精简版定义的宏适用于真正的编译,但是,在编辑器中,宏不起作用。

所以我检查了build设置中的宏定义,并谷歌搜索在 xcode 中定义宏的正确方法是什么,以及这个 link确实有帮助。

也就是说,我更改了以下宏设置: enter image description here

收件人:

enter image description here

并再次清理派生数据,现在它可以工作了!

这可能与从 GCC 设置到 LLVM 设置的转换有关。

关于ios - xcode 代码完成在 #if 和 #endif 中被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17511314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com