We got tagged to analyze this app on Thre*ds so we're posting it here too π€
π§΅ Let's take a look at why the @intesasanpaolo iOS app is 699 MB π³
A quick breakdown π
448 MB (64%) dynamic frameworks π«
72 MB (10%) main app target
74 MB (11%) of assets
We first found some low-hanging fruit improvements to optimize install size, including
102 MB (15%) from stripping binary symbols
27 MB (4%) from optimizing images
10 MB (1.5%) from removing duplicates
That's 139 MB (20%) of size that could be easily reduced right there π§
Next, let's talk about how 64% of the app is dynamic frameworks, 230 of them to be exact π«£
We've talked about this before in previous app breakdowns, but dylibs let you share code between targets, however, they're larger than static frameworks. It's likely that Intesa doesn't need ALL of those to be dynamically linked
Linking back to another popular app breakdown for @santanderuk that had the same issue
The apps went above that, reducing app size by ~300 MB
The main optimization came from renivubg TardisHybridContainer, which is where the vast majority of bloat came from in each app. Basically this was a mess of a dynamic framework w/ inefficient assets + a large jsbundle