rmtmckenzie/flutter_qr_mobile_vision

iOS bitcode: ITMS-90562: Invalid Bundle

Henrik-glt opened this issue ยท 4 comments

Hi!

Adding qr_mobile_vision to our app causes App Store Connect validation to fail.
The app builds just fine. No problem running or exporting the app.
But something with qr_mobile_vision and bitcode seems to cause the problem.
We need bitcode because we have an AppleWatch app.

"Error message" from Apple:

Dear Developer,

We identified one or more issues with a recent delivery for your app, "APP_NAME". Please correct the following issues, then upload again.

ITMS-90562: Invalid Bundle - The app cannot be processed because options not allowed to be embedded in bitcode are detected in the submission. It is likely that you are not building the app with the toolchain provided in Xcode. Rebuild your entire app with the latest GM Xcode and submit the app again.

Best regards,

The App Store Team

Hi Henrik. Unfortunately, this plugin is only tangentially the problem. We use the GoogleMLKit/BarcodeScanning pod, which is what google provides for QR code scanning, and is almost certainly what causes the problem. The swift code used in this plugin would be built along with your build, but the BarcodeScanning pod includes binaries from Google that I have no control over.

I would recommend opening an issue with Google, but tbh the likelyhood of them actually changing it is low to none unless Apple started requiring bitcode. Doesn't hurt to ask though, although I'm not actually entirely sure where you would ask.

Out of curiosity why do you need bitcode? I've published an app that includes an Apple Watch app - and I believe the apple watch app itself has bitcode enabled, but the main iOS app definitely doesn't.

Thanks! I was under the impression that the whole app bundle (iOS, watch , etc.) needed to have bitcode enabled when shipping an app with AppleWatch extension. Works fine when I disabled bitcode for iOS target.

Update: there will be a fix for this issue in the next MLKit release at the end of this month.

googlesamples/mlkit#347 (comment)

Hopefully you weren't waiting on the release of MLKit, but the new version has been released now. You can use it without anything changing the plugin by running pod update --repo-update in the iOS folder.