English version

xCode 9, Carthage und iTunes Connect Error: “Invalid Bundle - Disallowed LLVM instrumentation”

Dear developer, We have discovered one or more issues with your recent delivery for „YourProjectName“. To process your delivery, the following issues must be corrected: 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. Once these issues have been corrected, you can then redeliver the corrected binary. Regards, The App Store team

Die Lösung1) für dieses Problem besteht darin, mit folgendem Befehl Code Coverage in allen Abhängigkeiten abzuschalten:

grep -lR "codeCoverageEnabled" --include *.xcscheme --null Carthage | xargs -0 sed -i '' -e 's/codeCoverageEnabled = "YES"/codeCoverageEnabled = "NO"/g'

Dies setzt Code Coverage auf NO und iTunes beschwert sich nicht weiter.

Nun müssen noch alle Carthage Pakete neu gebaut werden.

Dazu folgenden Befehl ausführen

carthage update --platform iOS --no-use-binaries --no-build

Dies updated alle Abhängigkeiten und lädt sie herunter. Falls Carthage dann compilen will, unterbrechen und den Befehl oben ausführen.

Dann erst compilen.

carthage build --platform iOS

Dies baut alles, mit ausgeschaltetem Code Coverage. Jetzt kann archiviert und zu itC hochgeladen werden.

1) Quelle: Stack Overflow, https://stackoverflow.com/a/46226810 (01.11.17)