Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

App Store Team error saying "your app contains bitcode" after application submission

Tags:

xcode

ios

bitcode

I've never heard of this term bitcode before at all and I don't even know where to start looking around on how to fix this issue.

I am using Xcode 7 beta 3 and I've successfully uploaded my app 3 times but every time I upload it, it would change the status to invalid binary

I got an email from the App Store Team saying this

"Invalid Executable - The executable 'ESUHSD.app/ESUHSD' contains bitcode."

I don't know what information you need to know about the app so I was hoping any help would be appreciated!

like image 382
Cyril Avatar asked Jul 20 '15 22:07

Cyril


People also ask

What is Bitcode Apple?

Bitcode is an Apple technology that enables you to recompile your app to reduce its size. The recompilation happens when you upload your app to App Store Connect or export it for Ad Hoc, Development, or Enterprise distribution. To learn more about bitcode, see Distribution Options.

Is Bitcode required iOS?

For iOS apps, bitcode is the default, but optional. If you provide bitcode, all apps and frameworks in the app bundle need to include bitcode. For watchOS and tvOS apps, bitcode is required. As per apple document bitcode is default but currently optional so your app will get approval until it is compulsory.


Video Answer


2 Answers

First of all, I don't think you can submit any release apps built with with a beta version of Xcode (even if you target an existing iOS / WatchKit SDK combination).

As far as "bitcode", go to the developer.apple.com and take a peek at WWDC videos on "app thinning", as well as the relevant documentation for the next release.

For submitting an app for beta testing, that is another story. In general, that's possible, but there may be some quirks; the answer by @Jan covers the specifics for Xcode 7 beta having to do with bitcode.

For references saying not to submit release apps to the AppStore with beta Xcode versions, see the following posts (If you come up with definitive docs from Apple, it would be great to add a link):

From the Apple Developer forums, the accepted answer is that you never can submit using beta Xcode, and multiple people state that you've never been allowed to submit using beta software. There is one section where it mentions a workaround regarding bitcode and submissions, but it was suggested this was for AFTER Xcode 7 was released formally: Apple Forum: Can you submit to the App Store an app built with Xcode 7 as long as you are not targeting iOS 9?

From StackOverflow: The accepted answer concurs that submitting apps using beta Xcode is forbidden: Workaround to submit app to app store with Xcode 7

From StackOverflow: "App needs to be compiled with release version of Xcode" is the accepted answer: Submitting iOS app using beta version of xcode?

Additionally, the Apple technical document on submitting to the App Store says you should use the latest Xcode and SDK -- they don't mention beta vs. release, but the link to the "latest" goes to the latest release version of Xcode, available via the Mac App Store. See Technical Q&A QA1806: What version of Xcode and SDK should I be using when building for the App Store?

NOTE: Edited based on OP's stated intent in comment for beta testing, not release build to prior SDK.

like image 163
rholmes Avatar answered Sep 19 '22 17:09

rholmes


I've tried disabling bitcode and all other options but it hasn't work. I keep getting an invalid executable even though prior to the update I was able to submit a testing build from Xcode 7 b3 and swift 2. After that I used some cocoa pods to optimize the app and now when I want to test it, it throws this error:

Invalid Swift Support - The bundle contains an invalid implementation of Swift. The app may have been built or signed with non-compliant or pre-release tools. Visit developer.apple.com for more information.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftSecurity.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCoreGraphics.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftObjectiveC.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftUIKit.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCoreImage.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftDarwin.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftDispatch.dylib' contains bitcode.

Invalid Executable - The executable 'YTDemo.app/Frameworks/libswiftFoundation.dylib' contains bitcode.

Invalid Executable - The executable 'myApp.app/Frameworks/libswiftCore.dylib' contains bitcode.

Though you are not required to fix the following issues, we wanted to make you aware of them:

Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. If your app does not use the Apple Push Notification service, no action is required. You may remove the API from future submissions to stop this warning. If you use a third-party framework, you may need to contact the developer for information on removing the API.

Once the required corrections have been made, you can then redeliver the corrected binary.

like image 28
zaam Avatar answered Sep 19 '22 17:09

zaam