特定 Xcode 版本的 ifdef?

ifdef for specific Xcode versions?

我目前正在将我的一些代码转换为在 Xcode 9 中编译,并且偶然发现了一些不同的行为,这迫使我只在 Xcode 9 中使用一些代码,而一些只在 Xcode 8。 是否有某种 ifdef 以便我可以根据使用的 Xcode 版本重定向代码?

感谢任何帮助。 谢谢!

Xcode 版本控制没有条件编译预处理器宏。目前,这是您能做的最好的事情:

#if swift(>=3.2)
    // Xcode 9 
#else
    // Xcode 8
#endif

由于 Swift 3.2 只能通过 Xcode 9 或更高版本获得,这应该可以满足您的实际需要。

如果您发现了 Xcode 相关的错误,请在 Apple 的错误报告网站 here 上提交它。