In a different blog, we have covered what bitcode is and whether it is safe to embed it in your iOS applications. In this post, we will explain why iXGuard requires a bitcode-enabled build.
The reason why iXGuard requires bitcode-enabled builds is quite simply that bitcode is more easy to interpret and process than source code or machine code. iXGuard uses the embedded bitcode to recompile applications and harden them in the same process.
It is important to note that we only require the bitcode to be embedded in the binary in order to process it. We do not require the bitcode to be present in the hardened application. That is why iXGuard can be configured to either include the bitcode in the final result or to strip if off.