Dead Code Stripping

We have a distributed source repository structure controlled with the CocoaPods. We have multiple Apps that are built using these source repositories. The main issue which we are finding is with the dead code stripping of public variables, functions, classes, enums, and structure. This, in turn, increases the size of the IPA even though the code might not be getting used.

The idea is to have one more pass on the Virtual Method Table to identify the references and strip if there are no callers during the SIL. This avoids lot of unused code getting in the binary, also we can emit the information that certain methods not getting used thereby reducing dependency on third-party frameworks to check for dead code.

Is this with static or dynamic version of the library?

Dynamic Version of the library

Hello, sorry to wake up an old thread.

Almost 3 years later - I am facing the same problem.
public functions in a dynamic or a static library which are not being called built into the binary.

@sachinvas did you achieve to fix it?

josh2 I can see that @kateinoigakukun amazing work was merged but was reverted later, is that correct?