繁体   English   中英

更新到Xcode 10.2 / Swift 5后无法构建macOS项目

[英]Can't build macOS project after updating to Xcode 10.2/Swift 5

在更新Xcode之前,我的项目很好。

但是,现在我无法再构建项目了。 使用Swift 5时,构建项目永远不会完成。 它停止在“建立100个任务中的70个”并且永远不会完成。 这些数字也不总是相同,但它永远不会完成建设。

如果我尝试使用Xcode将我的项目从Swift 4.2转换为Swift 5,它同样永远不会完成转换。

如果我尝试更改工具链以使用Swift 4.2.1发布工具链,代码编译成功但我在运行时立即崩溃:

dyld: Symbol not found: _$SBOWV
  Referenced from: /Users/compc/Library/Developer/Xcode/DerivedData/Swift_Coder-hczsehpbafcwkfgwyameucznmhsp/Build/Products/Debug/Swift Coder.app/Contents/MacOS/../Frameworks/SavannaKit.framework/Versions/A/SavannaKit
  Expected in: /usr/lib/swift/libswiftCore.dylib
 in /Users/compc/Library/Developer/Xcode/DerivedData/Swift_Coder-hczsehpbafcwkfgwyameucznmhsp/Build/Products/Debug/Swift Coder.app/Contents/MacOS/../Frameworks/SavannaKit.framework/Versions/A/SavannaKit

我已经尝试清理项目并删除派生数据但似乎都不起作用。

如果我使用Xcode 10.1,该项目将继续构建并运行完美。

我的一些代码存在问题,涉及以自定义方式将ClosedRange类型扩展为EncodableDecodable 在Swift 5中,当Bound EncodableDecodable时, ClosedRange已经符合EncodableDecodable ,但是编译器没有给我一个关于冗余一致性的错误,而只是挂在编译上。

在我修改我的代码以使用新的Swift 5协议一致性之后,它编译得很好。 然而,需要很长时间才能将问题缩小到这个范围。 在我看来,它是Swift编译器中的一个错误,因为编译器在Playground或命令行中也会挂起,即使在不同的Mac上也是如此。

您的项目是否包含任何第三个库? 如果是这样,试着找出哪一个已经过时了。 尝试在没有这个库的情况下构建项目,我完全相信它们中的一些只是过时了。 您可能还想将swift语言版本设置为旧版本。 选择目标,转到Build Settings> Swift Language Version

请删除派生数据,

如果您在工作区环境中,则可以转到“文件”>“工作区设置”;对于常规项目环境,可以转到“文件”>“项目设置”。 然后单击“派生数据”部分下的小灰色箭头,选择要删除的项目文件夹。

如果你有Pods比解体并再次重新安装所有pod文件。

希望这对你有用!

禁用iCloud。

问题是由桌面和icloud之间的差异引起的!

花了24小时试图找出为什么工作区会在发射时冻结。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM