Xcode 9 and Carthage - That pesky Coverage data
Like any other year the new Xcode GM came out and everybody started rushing to submit their apps. This year, I was also one of these early adopters. Things were going relatively smoothly, except for a weird issue with xattr
when trying to export archives. Regardless, I uploaded the build and was ready to see it processed… And then…
The Problem
Invalid Bundle - Disallowed LLVM instrumentation. Do not submit apps with LLVM profiling instrumentation or coverage collection enabled. Turn off LLVM profiling or code coverage, rebuild your app and resubmit the app.
LLVM instrumentation? What? I thought that gets striped out on Archive?
Well it turns out, that it does get stripped out, but only for the main application. I use Carthage for dependency management and Carthage doesn’t build targets with the Archive action (or rather it can’t) and Xcode 9 enables code coverage by default: