在更新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我尝试过清理项目和删除派生数据,但似乎都不起作用。
如果我使用Xcode10.1,这个项目可以继续构建并运行得很好。
发布于 2019-04-02 10:20:10
我的一些代码有问题,涉及以自定义方式将ClosedRange类型扩展为Encodable和Decodable。在Swift 5中,当ClosedRange的Bound是Encodable和Decodable时,它已经符合Encodable和Decodable,但是编译器没有给我关于冗余一致性的错误,而只是挂起了编译。
在我修改代码以使用新的Swift 5协议一致性之后,它编译得很好。然而,花了很长时间才将问题缩小到这个范围。在我看来,这似乎是Swift编译器中的一个错误,因为编译器会挂在Playground中,或者从命令行挂起,即使是在不同的Mac上也是如此。
发布于 2019-03-27 06:28:24
您的项目是否包含任何第三个库?如果是这样的话,试着找出哪一个是过时的。试着在没有这个库的情况下构建项目,我非常确定其中一些库已经过时了。您可能还希望将快速语言版本设置为旧版本。选择目标,转到Build Settings > Swift Language Version
发布于 2019-03-27 18:47:32
请删除派生数据,
如果您在工作区环境中,可以转到文件>工作区设置,或者对于常规项目环境,可以转到文件>项目设置。然后点击Derived data部分下面的灰色小箭头,并选择您的项目文件夹将其删除。
如果您有pod,请解压并重新安装所有pod文件。
希望这对你有用!
https://stackoverflow.com/questions/55366130
复制相似问题