2016-11-20 102 views
6

由于最新的XCode 8.1更新(编译8B62)我有奇怪的问题与语法高亮/与预处理宏连接代码完成。的Xcode 8和预处理宏

他们的工作只是罚款与我一直在使用更新前的8 XCode的转基因种子,但现在选择方案时的XCode无法识别正确的目标。 例如,我有一个控制器静态库有2个目标 - 一个用于iOS,另一个用于Apple Watch。在每个我使用宏(APP/WATCH)进行平台特定的操作。 但是,当我在APP目标中时,Xcode编辑器将代码高亮显示为WATCH目标,而此目标的实际代码没有高亮或自动完成。 Xcode似乎随机检测来自不同目标的宏。 另一方面,编译器总是检测到正确的代码并且100%正常工作,所以代码没有任何问题。这只是编辑。

此外,当我启动的Xcode的代码被高亮显示约一秒钟,然后再次得到所有白色文本。删除并读取所有方案都不起作用,清除和删除派生数据对此也没有影响。任何人有同样的问题,甚至解决这个问题?

编辑:我的目标和宏一点点发挥四周,我发现Xcode中从一个目标只需要宏观和丢弃所有其他人,无论选择什么样的目标。任何帮助?

+0

我遇到同样的问题。任何运气找到解决方案吗? –

+0

我也有同样的问题!你找到什么了吗? – guidev

+0

可悲的是,我很快就会写一份错误报告。猜猜苹果公司自己无法识别这个错误,因为没有人似乎正在使用objc。 – optz

回答

0

这是XCode中8.的XCode 9的实际的错误(如今天的,2017年9月的β6),则最终得到解决。

0

尝试“干净的构建”第一......如果不行再试试

在预处理宏在预编译头不使用有两个子目

预处理宏在预编译头 未使用
调试+
释放+

与出现的旁边,当你将鼠标悬停在他们加分。按上这两个加号,你应该得到:

预处理宏在预编译头不使用
调试+
任何架构|任何SDK
发布+
任何建筑|任何SDK

你不需要你按下+后在这里输入任何东西。一旦你添加了这两个额外的条目,尝试另一个干净的构建。