ITMS-90562: Invalid Bundle - Bitcode failed to compile for your watchOS binary

Hello,

My team is currently having an issue uploading our app to the AppStore because of the following issues:


ITMS-90562: Invalid Bundle - Bitcode failed to compile for your watchOS binary because it includes assembly source code or inline assembly. To resolve this issue, rewrite the corresponding code in a higher-level language such as Objective-C or Swift and redeliver your app. 

ITMS-90562: Invalid Bundle - There's an issue with the app's bitcode compilation. Rebuild the app using the current public (GM) version of Xcode and upload it again.

Firstly, we do not have a watchOS app at all. Our last release was successful when built on Xcode 11.6 and we're currently using Xcode 11.7. According to Apple, Xcode 12 isn't required until April of 2021, so I'm not sure what it's complaining about. Here's what we've tried.
  1. We created an AppStore build and ran it through the validator and that succeeded. It even uploads fine, but doesn't successfully process once uploaded.

  2. We created an Enterprise version of our app and exported it, making sure to enable the "Rebuild from Bitcode" option to hopefully mimic what the AppStore is doing and failing at and it still succeeds.

  3. We downloaded and used the Transporter app from Apple to try uploading our AppStore ipa, but the logs didn't indicate anything suspicious (perhaps because the bitcode compilation for AppStore variants happen on Apple's servers?)

  4. We searched for anything that could have indicated "watch" or "watchOS" in our codebase and build settings and dependencies (built from Carthage), but we didn't find anything there either.

  5. We went through the Export phase again for the AppStore build and disabled Bitcode.

The only one to succeed was #5, but we don't want to do this as a long term solution, but don't understand how to get more information as to what the problem is exactly.

Does anyone have any information on this?
  • We just ran into this today. We also have no watchOS component in our app. Currently have a support ticket open with Apple, they're escalating it.

Add a Comment

Accepted Reply

Update September 18th, 2020 (Solved for my use-case):


I realize this may not be helpful for some people, but I was able to figure out the problem at least for my team and hope this can assist anyone else with a similar enough situation. My team and I work on a very large codebase and I only started in my role almost a year ago, so there's a lot of stuff in our codebase that I don't have direct experience with. This also includes some third-party vendors' frameworks that exist in our codebase. Most of these decisions and dependencies were made before I joined the team.

With that said, I made a new Xcode project using 11.6 (the last successful version I used for distributing our app to the AppStore) and used the same Bundle ID and Team combination for it. I tested that I could upload the sample "Hello World" application which was successful. I then started introducing things little by little to isolate the issue and found what the culprit was for us.

For us, it was one of the third-party pre-built binaries that was provided to us which was causing the rejection. Submitting a build without that framework resulted in a successful upload and processing, but including it resulted in the error you see at the title of this post. We plan to reach out to that vendor next week to see what we can do about getting this resolved so we can go back to including Bitcode in our releases.

I hope this is helpful to others in similar situations. I would recommend uploading builds to the AppStore with Bitcode enabled and only providing a small subset of your dependencies until you find the issue. Again, this may not be helpful for everyone, but I hope it's helpful to someone. I can only conclude that rules were changed on Apple's side after the September event and that our vendor's pre-built binary has assembly or something of the sort within it. Good luck to you all and I hope you find resolution soon.

tl;dr

It was a problem with one of our third-party vendor's frameworks and we're going to ask them to investigate this.

Steps to find resolution above.

Replies

Mart 2022.

Hi.

jFYI in our case we suddenly started to see this error after changing in build process and the reason was missing CFBundleVersion and CFBundleShortVersionString in info.plist.

Hopefully it might help anyone.