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,该项目将继续构建并完美运行。

4

4 回答 4

2

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

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

于 2019-04-02T02:20:10.280 回答
1

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

于 2019-03-26T22:28:23.827 回答
1

请删除派生数据,

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

如果你有 Pods Than deintegrate 并重新安装所有 pod 文件。

希望这对你有用!

于 2019-03-27T10:47:32.370 回答
0

禁用 iCloud。

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

花了 24 小时试图找出工作空间在启动时会冻结的原因。

于 2019-05-16T15:46:41.423 回答