In an iOS binary segments have a minimum size equal to the minimum memory page size for that architecture. This is 16Kb on modern devices.
Binary page size
You generally cannot change the size of a binary by anything other than increments of 16Kb.
This results in "unmapped" portions of the binary that are not attributed to your code. In the treemap this will show in a separate color ■. You can reduce the amount of size wasted in this space by using static frameworks and reducing the number of dynamic frameworks.
In PR comment size diffs the total size changed will be displayed. This total change does not take into account the unmapped size if you only changed code. This is to make sure a small change that just pushes you over the page size limit doesn't appear to have a large binary size affect. If you introduce a new binary the unmapped size will be included.
Updated 9 months ago