A bitcode is an intermediate representation of a compiled program. Enabling this option will increase the build size (ipa) on the front panel of the developer.
iOS can work on different processors (i386, x86_64, arm, arm64, etc.), if you want to run the program on any iOS installation, then the program should contain an object code for each platform. When you start the program, the OS reads the "Content Table" and looks for a fragment that matches the OS processor. For example, if you run the operating system on x86_64, then the OS will load the object code for x86_64 into memory and run the program.
Currently, all applications in the AppStore contain object code for arm and arm64 processors. In addition, third-party libraries or frameworks contain object code for i386, x86_64, arm and arm64, so you can use them to test the application on the device and / or simulator.
How does the bitcode work? When you submit the application (including the bitcode), BlackBox Yablokov recompiles it for each supported platform and removes any βuseless object code,β so the AppStore has a copy of the application for each processor. When the end user wants to install the application - it installs only the version for a specific processor, without any unused materials.
Bitcode can save up to 50% of disk space for each program.
Refere: http://lowlevelbits.org/bitcode-demystified/
source share