【发布时间】:2023-04-09 17:20:02
【问题描述】:
有没有办法在 Xcode 12 中强制与 Swift 5.2 兼容,这样我就不会意外引入不再使用 Swift 5.2 编译的代码?
我想使用 Xcode 12 Beta 来开发 iOS 13 应用程序,因为 SwiftUI 的错误消息得到了极大改进,并且自动完成功能也更好。但我需要让项目与 Swift 5.2 完全兼容,以便实际使用 Xcode 11 构建产品。
Swift 5.3 中的 Allow implicit self in escaping closures when self is explicitly captured 等功能在 Swift 5.2 中无法编译,例如:
class SomeViewController : UIViewController {
func bar() {
UIView.animate(withDuration: 1) { [self] in
foo()
}
}
func foo() {
}
}
SWIFT_VERSION 构建设置只允许指定主要版本,但不能指定“5.2”之类的内容。
【问题讨论】: