Xcode 10: 编译因其他文件中的错误而停止

Xcode 10: Compilation stopped by errors in other files

当使用 Xcode 10(Beta 1)和几个 Swift 框架如 Eureka 时,构建失败并出现以下错误:

/path/to/Pods/Eureka/Source/Rows/Common/OptionsRow.swift:1:1: Compilation stopped by errors in other files

不幸的是,真正的错误现在被隐藏了,无法被发现。到目前为止,还有人 运行 关注这个问题吗?我们仍处于 iOS 12 和 Xcode 10 的早期 Beta 阶段,因此这可能会在未来的工具版本中得到改进。

这是一条一般错误消息,意味着还有其他错误。真正的错误是 not 隐藏。竟然写了两遍!

因此,您只需让您的 pod 严格兼容 Swift 4.1 即可解决您的问题。在您的情况下,错误消息是:

Overlapping accesses to 'action', but modification requires exclusive access; consider copying to a local variable

这是 警告 Xcode 9.x 过去 一年,所以你可以在 Xcode 10.

发布之前修复了它

好吧,按照消息的建议进行操作即可 Xcode 10:

let backgroundColor = self.backgroundColor ?? action.backgroundColor
action.backgroundColor = backgroundColor
let image = self.image ?? action.image
action.image = image

或者使用 在你的问题 https://github.com/xmartlabs/Eureka/commit/b0f9adc13a780e76fae25bf00f9adc49726f0d95 前 22 天所做的修复,只需使用最新的 Eureka:

pod 'Eureka', :git => 'https://github.com/xmartlabs/Eureka.git', :branch => 'master'