首页 > 解决方案 > Xcode 10:编译因其他文件中的错误而停止

问题描述

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

/path/to/Pods/Eureka/Source/Rows/Common/OptionsRow.swift:1:1:编译因其他文件中的错误而停止

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

标签: iosxcodexcode10ios12

解决方案


这是一般错误消息,表示存在其他错误。真正的错误没有隐藏。竟然写了两遍!

在此处输入图像描述

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

对“action”的访问重叠,但修改需要独占访问;考虑复制到局部变量

这是过去一年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'

推荐阅读