2
votes

I am trying to submit my tvOS app to the store but I am getting this error message:

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.

According to Apple documentation bitcode is required for tvOS apps:

For iOS apps, bitcode is the default, but optional. For watchOS and tvOS apps, bitcode is required. If you provide bitcode, all apps and frameworks in the app bundle (all targets in the project) need to include bitcode.

What should I do to submit my app?

1
Are you using the latest version of Xcode download from Apple's Developer portal? Xcode 9.1 (9B55) at the time of this post. Also, verify in Xcode that you are using the correct toolchain: Xcode > Toolchains > "Xcode 9.0" is selected. - Chris
Yes I am using Xcode 9.1 and the same version of toolchain. - Aymen HARRATH
Also, is bitcode enabled for all your 3rd party libraries/frameworks? - Chris

1 Answers

0
votes

Yup every static lib and dynamic framework in your tvOS target needs to be bitcode enabled. You can verify if your static libs are bitcode enabled by running otool as shown below. If it is bitcode enabled, you ought to get a bunch of __LLVM segnames in your output. If you get no results, then in all probability that library is not bitcode enabled, and is the offending component.

dbox:lib oz$ otool -l libmDialogtvOSSmartStreamSDK.a | grep __LLVM

Here's the output as this particular static lib is bitcode enabled:

segname __LLVM
segname __LLVM
segname __LLVM