从理论上讲,应该可以将以前的Swift工具链与新的Xcode版本一起使用,以便您可以继续编译代码,而不必升级Swift版本。您可以从https://swift.org/download下载工具链版本。
但是,虽然应用程序确实在Xcode首选项中切换了工具链并使用Xcode 10.2作为命令行工具后才进行编译-运行它们会在启动时导致此错误:
dyld: Symbol not found: _OBJC_CLASS_$__TtCs12_SwiftObject
Referenced from: ~/Library/Developer/CoreSimulator/Devices/CAAB28E5-9B4A-41A3-ADED-A481A62842BA/data/Containers/Bundle/Application/<Redacted>/Frameworks/PhoneNumberKit.framework/PhoneNumberKit
Expected in: /Library/Developer/Toolchains/swift-5.0.1-RELEASE.xctoolchain/usr/lib/swift/iphonesimulator/libswiftCore.dylib
in ~/Library/Developer/CoreSimulator/Devices/CAAB28E5-9B4A-41A3-ADED-A481A62842BA/data/Containers/Bundle/Application/<Redacted>/Frameworks/PhoneNumberKit.framework/PhoneNumberKit
围绕GitHub,Apple forums和其他地方的先前Xcode Beta中的类似错误进行了一些讨论,这表明它是Carthage或Beta的问题,并且可能是第三方lib我在用自己。
以前有人遇到过吗?可以将旧的工具链与更新的Xcode版本一起使用吗?