How we made our app clip 18% smaller in 10 minutes with Binary Symbols & Metadata:
If you look closely at each framework in our bundle, they all contain a String Table. These are binary symbols, metadata used for debugging. Since Xcode 14, this metadata is left bloating release builds by default.
If you look closely at each framework in our bundle, they all contain a String Table. These are binary symbols, metadata used for debugging. Since Xcode 14, this metadata is left bloating release builds by default.
1 / 2
Comments
This app clip includes hefty string tables for each dynamic framework. We can add a build script that iterates through each framework and removes these symbols using the UNIX strip command.
`strip -rSTx Apollo.framework`
Binary symbol metadata is a similar piece of cruft that shows up in your binary. It’s more metadata to help facilitate linking modules together dynamically. This isn’t necessary in app binaries, because nothing will link against them. This binary symbol metadata can be striped using Xcode flags:
All in all, clearing out this cruft saves us a stonking 2.8MB.
See the full post here:
https://blog.jacobstechtavern.com/p/get-lapse-under-15mb