Skip to main content
Search our knowledge base

IL2CPP build size optimizations



  • Michael Varamashvili

    How come that built binary is 200 megs but MapFileParser reporting total 20? How to interpret it output?

  • David Berger

    Hi Michael, 

    the MapFileParser looks at one slice (e.g. 64bit) and lists the methods used. If LLVM produces bitcode (when enabled) it is going to increase the binary size as it adds variations of the code so that Apple is able to slice the binary correctly for the different architectures and devices which cannot be accounted for by the MapFileParser, so to compare the size it's best to use release builds without bitcode enabled. Of course for the final release build, don't forget to enable bitcode again. 

    I hope this helps, 


  • Pavel

    Thank you for such a good article. However I have to admit that manything is not obvious. I would be grateful if you could make a video where you take some project and calculating the appsotre size and compare it with actual one.

    So.. My ipa(with bitcode enabled) is 186Mb. iTunes Connect says that download size is about 80 Mb and install size is 342 Mb!!! Why? Where does it come from ? I tried to follow this instructions to calculate the appstore size. So here are my results(I removed some textures so my ipa became smaller):

    ipa size(with bitcode and only for arm64): 145 Mb

    ipa size(without bitcode) 60 Mb

    ipa size(without executable inside) 50 Mb

    What I've found using otool:

    _TEXT 22,3 Mb

    _DATA 2.1 Mb

    _LLVM 186 Mb

    _LINKEDIT 2.9 Mb


    When I export project to Xcode Assets size(uncompressed) is 226 Mb.


    That's all information I have. How could I calculate approximate App Store size ? 


    Thank you in advance !


Please sign in to leave a comment.