15

What's the difference between the "Enable Bitcode" setting in the app's target & project and the "Include Bitcode" checkbox that is present before submitting to App Store?

If I have "Enable Bitcode" FALSE and have "Include Bitcode" checked, what happens? If I have "Enable Bitcode" TRUE and have "Include Bitcode" unchecked, what happens?

I saw other questions asking only what "Enable Bitcode" does, but mine ask the difference with this setting and the "Include Bitcode" setting just before submitting the app to the App Store.

Thanks

rmaddy
  • 298,130
  • 40
  • 468
  • 517
allaire
  • 5,875
  • 3
  • 38
  • 56
  • 1
    http://stackoverflow.com/questions/30722606/what-does-enable-bitcode-do-in-xcode-7 – Code Different Dec 17 '15 at 14:56
  • 1
    @JustAnotherCoder See my edit on why this does not solve my question. – allaire Dec 17 '15 at 14:59
  • @allaire It's worth adding that a great deal of what we know about Bitcode is conjecture right now. Apple has given us some details, but until we see a new architecture (or optimisation for an existing architecture) actually released it's hard to know exactly how it works. – TwoStraws Dec 17 '15 at 15:01
  • And what about the setting in iTunes Connect > My Apps > (some app) > App Store > Pricing and Availability, under "Bitcode Auto-Recompilation"? – Lane Rettig Feb 13 '16 at 00:18

2 Answers2

12

As you might imagine, you need both enabled in order to have your app support Bitcode recompilation in iTunes Connect. Just enabling it in Xcode simply means the Bitcode "architecture" is compiled, it doesn't necessarily mean that's sent to Apple.

Advance warning: I've done some tests on app submission with and without Bitcode, and for whatever reason submitting with Bitcode substantially slows down the time it takes for your binary to be processed so that it's ready for submission. Without Bitcode it can appear in a few minutes or up to maybe three hours; with Bitcode I've frequently had delays of 24 hours or more.

TwoStraws
  • 11,965
  • 3
  • 52
  • 69
  • Great to know. so if I have it disabled on the target, and still have "Include Bitcode" checked, nothing will get sent, since my app wasn't archived with bitcode enabled, is this a correct assumption? – allaire Dec 17 '15 at 15:01
  • 3
    To the best of my knowledge, that's correct. App submission does not create the archive, it only sends it off to Apple – the compilation and (preliminary) optimisation already happened by that point. That being said, if you specifically don't want Bitcode ([for various good reasons](https://medium.com/@FredericJacobs/why-i-m-not-enabling-bitcode-f35cd8fbfcc5#.yzloy0cgh)), I would uncheck *every box you see* :) – TwoStraws Dec 17 '15 at 15:03
  • Ironically enough the exact _opposite_ thing happened to me today. Builds submitted with bitcode enabled typically take about ten minutes to process; I submitted a build with bitcode disabled today: it took six hours to process, then reported an error. – Lane Rettig Feb 13 '16 at 00:18
0

If bitcode is disabled for your target and all pods, the include bitcode checkbox will vanish from the dialog of upload to app store.

Calum
  • 1,769
  • 2
  • 18
  • 34