Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 特定Xcode版本的ifdef?_Swift_Xcode_Conditional Compilation - Fatal编程技术网

Swift 特定Xcode版本的ifdef?

Swift 特定Xcode版本的ifdef?,swift,xcode,conditional-compilation,Swift,Xcode,Conditional Compilation,我目前正在将我的一些代码转换为在Xcode 9中编译,并无意中发现了一些不同的行为,这些行为迫使我只在Xcode 9中使用一些代码,而在Xcode 8中使用一些代码。 是否存在某种ifdef,以便我可以根据使用的Xcode版本重定向代码 谢谢你的帮助。 谢谢 没有用于Xcode版本控制的条件编译预处理器宏。目前,这是您所能做的最好的: #if swift(>=3.2) // Xcode 9 #else // Xcode 8 #endif 由于Swift 3.2仅通过Xc

我目前正在将我的一些代码转换为在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相关的bug,请在Apple的bug Reporter网站上存档。

为什么要使用Xcode版本?看起来最好检查的是(a)您正在构建哪个版本的Swift,或者(b)正在运行哪个OS版本。事实上,Xcode 8中最新可用的Swift版本是3,因此这是一个有效的检查