iOS App size got increased after generating build with Xcode 16. I have compared the .ipa file contents generated from Xcode 15.8 and Xcode 16.1 version, there was huge increase of size which is coming from the hermes.framework of size 494.7mb
Xcode 15.8
IPA size is 22.4 mb and app size 58.2 MB
Hermes.framework size 3.1 mb
Xcode 16.1
IPA size 198 mb and app size 598 MB
Hermes.framework size 494.7 mb
I tried enabling the bitcode, tried all the possible solutions from stackoverflow, but so far nothing helped in decreasing the app size.
iOS apps built with Xcode 16 grow up in size significantly
Any help/suggestion is appreciated.
Thanks.
There is a change which Apple has made with Xcode 14 provided with an option to enable or disable bit-code while generating builds, however with latest version of Xcode 16 apple has completely removed the support of bit-code option.
I have compared the ipa files and its contents from Xcode 15.8 and Xcode 16.1, have found that Hermes.framework size has been increased 10times. The reason for increase in the .ipa size is due to the Hermes engine framework which has bit-code enabled as per this
https://github.com/facebook/hermes/issues/1525.
Now this issue has been rectified by react native team with react-native version 0.73.0 and above.
With Xcode16 release Appstore connect will validate for every framework which is bundled into .ipa will check for bit-code (attached the same screenshot for reference.)
Solution 1: Strip Bit-code From every Framework using script (Quick Solution)
To resolve this we can manually check for the bit-code in every framework using script and strip the symbols before we generate the .ipa
https://github.com/facebook/hermes/issues/1525
Solution 2: Upgrade to Latest Version (Longer Term Solution)
Upgrade React-native and other frameworks to be compatible with Xcode16 build process.