2017-07-27 31 views
3

今天我下载的XCode 9.0 Beta 4的和建立我的项目后,我得到下一个警告消息斯威夫特:条件编译标志必须是有效的斯威夫特标识符

<unknown>:0: error: conditional compilation flags must be valid Swift identifiers (rather than '-Xfrontend') 
<unknown>:0: error: conditional compilation flags must be valid Swift identifiers (rather than '-debug-time-function-bodies') 
Command /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1 

像我在这里寻找它,我尝试了好几种选择但无法找到任何解决方案。

  • 清理项目
  • 清理build文件夹
  • 重启动的XCode
  • 重新启动的这台笔记本电脑

有人吗?

+0

是否从单一视图一个新的清洁项目应用模板出现此错误? – matt

+1

您是否在自定义标志下检查了您的构建设置? –

+0

@matt否,一个干净的项目不会给出任何失败 – FreshApps

回答

3

在某些时候,您或同事包含这些标记以了解Xcode使用Swift文件编译多长时间。您可以删除它们,因为它们不会影响编译。不知道他们是否仍然支持,但如果他们是这样,Active Compilation Conditions不要采取以似乎开始的破折号的格式。

2

这为我工作,希望这可以帮助其他人:

步骤:

  1. 在左上角点击您的项目名称。
  2. 请确保您选择了您的项目而不是目标
  3. 检查“活动编译条件”中的调试/发布字段是否包含'-Xfrontend'和/或'-debug-time-function-bodies' ,尝试删除它们(也许写下来,如果它不起作用,所以你不会把事情搞砸更大声笑)
  4. 干净的项目,重新启动Xcode,如果你使用CocoaPods,运行一个吊舱更新

这就是我如何解决我的问题,这几乎和你的一样,希望这有助于。祝你好运。

1]

4

在您的项目设置和个人目标的设置如下:

其他雨燕标志

删除它。 编译。

+0

我的“-D”在某种程度上是($继承)值的一部分,我不知道它从哪里继承,所以我不能摆脱它:(任何想法?在项目设置下进行检查,我的目标设置我没有看到任何其他地方 – Fonix

+0

好吧,我刚刚删除了其他链接器标志中的一切,似乎工作,希望东西不打破这条线 – Fonix

4

这个问题出现了我,而我开始应用首次在Xcode 9

我曾在复制生成设置值 - >其他斯威夫特标志。删除重复后,该应用程序开始按预期工作。

Duplicated values

+0

谢谢,它解决了我的问题。 – User97693321

3

其他雨燕标志不能包含破折号的值“ - ”,但在雨燕3.2的值确实需要一个“-D”前缀