Siddhant
08/26/2026, 1:06 PMShared.h header had huge amounts of dead weight around 61% of exported declarations had zero call sites in Swift (mostly top-level *Kt files, internal models, and unused library types).
Because Kotlin defaults to public, those unreferenced declarations still generate ObjC metadata and runtime adapters that the compiler can't dead-strip.
I built a lightweight Gradle plugin called kmprofiler to automate finding these candidates:
• Parses your generated Shared.h declarations
• Scans your iosApp Swift sources
• Highlights unreferenced exports so you can hide them with internal or @HiddenFromObjC
v0.1.0 is up on GitHub / Gradle Plugin Portal: 🔗 Repo 📝 Deep-dive writeup
Working on Xcode link-map parsing for v0.2 next. Would love to hear your thoughts or if there are features you'd like to see!Siddhant
08/31/2026, 9:06 AM