Xcode 11“'=='仅在iOS 13.0或更高版本中可用”错误

时间:2019-11-01 17:04:14

标签: ios swift xcode11

我试图在Xcode 11中构建我的项目,并抛出26个相同的错误

.switchWindow

调用<unknown>:0: error: '==' is only available in iOS 13.0 or newer 时,错误发生在Compile Swift source files stage上。没有上下文帮助指向文件中的任何 。这些文件完全不同,但看起来无害,并且没有任何共同之处。

1 个答案:

答案 0 :(得分:1)

经过一番痛苦,我发现4个月大的应用程序版本可以正常编译。因此,我做了CompileSwift normal arm64 /long/path/to/MyClass.swift ...,发现了令人反感的提交,然后输入了以下代码:

git bisect

结果证明,struct Config: Equatable { let formatDescription: CMFormatDescription let orientation: CGImagePropertyOrientation } 仅在iOS 13中才变成CMFormatDescription,而应用程序的部署目标是iOS11。它可能在Xcode 10中回到Equatable,但在Xcode11。由于Swift在后台自动生成[NSObject isEqual:]一致性,因此在指出错误的确切位置时遇到了麻烦。解决方案是为Equatable添加自己的Equatable实现:

CMFormatDescription