Search code examples
iosxcodexcode10ios12

Xcode 10: Compilation stopped by errors in other files


When using Xcode 10 (Beta 1) and several Swift frameworks like Eureka, the build fails with the following error:

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

Unfortunately, the real error is hidden by now and cannot be uncovered. Anyone ran into that issue as well so far? We are still in the early Beta days of iOS 12 and Xcode 10, so this might be improved in future tooling versions.


Solution

  • This is a general error message meaning that there are other errors. The real error is not hidden. It's even written twice!

    enter image description here

    So you simply need to make your pod strictly compatible with Swift 4.1 to get ride of your problem. In your case, error message is:

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

    It was a warning with Xcode 9.x for the past one year, so you could have fixed it way before the release of Xcode 10.

    Well, just do what the message suggests and it will work with Xcode 10:

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

    Or use the fix made 22 days before your question with https://github.com/xmartlabs/Eureka/commit/b0f9adc13a780e76fae25bf00f9adc49726f0d95, by simply using the latest Eureka:

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