The App Store has an option where, in addition to uploading an ARM binary, you can upload LLVM bitcode (a binary representation of LLVM IR). This allows Apple to optimize the app differently for different devices[0], and is required to build apps for watchOS and maybe tvOS.
[0]: Not sure if Apple does this in practice, but I believe the purpose of bitcode is that they could do that if they wanted to.
[0]: Not sure if Apple does this in practice, but I believe the purpose of bitcode is that they could do that if they wanted to.