Oohhoho this one looks fun! Let's take a look at why the @SantanderUK iOS app is at a whopping 613.3 MB and how 35% of it does nothing for the user 🧐
Right off the bat, it looks like most of the app (587.6 MB) is dynamic frameworks Dylibs let you share code between targets, but are larger than static frameworks b/c static let's the compiler strip dead code. It's likely that Santander doesn't need ALL of those to be
Also, note the "String Tables" in the dynamic frameworks— these are unnecessary binary symbols that can be stripped out and save 215.5 MB (35% of install size) for Santander UK 🤓
Just for fun, we decided to look at a few other versions of the Santander app since it looks like they have one for each country they operate in The app in Poland has an even larger install size than the UK one we've been looking at, coming in at 673.3 MB 🫨 The app in the US
The Polish app seems to have the same issue as the UK app, where there are a lot of dynamic frameworks that include various string tables and metadata, leading to 204.7 MB of potential size savings The US app looks very similar to Poland and the UK, just far fewer in numbers.
We've outlined this before in previous tweets, explaining that these binary symbols used to be automatically optimized by bitcode, which has since been deprecated by Xcode 14 💔 https://t.co/dmPkNRHvAT
So there you have it! All we're saying is that this is an issue @Santanderuk and Santander Poland could fix pretty easily with the help of Emerge Tools 😏
Anyways, here's a blog post about static vs. dynamic frameworks👇 https://t.co/kPOOjRZABj
And if you'd like to see the full Santander UK breakdown, here it is 👇 https://t.co/RJ7iRgEj6F
TY for the tag @gingerbeardman! Link to original tweet here https://t.co/TiqsjAPJkf