A framework for detecting dead code at runtime - Reaper is an SDK added to your app to report which Swift and Objective-C types were used for each user session. It supports all classes written in Objective-C, most non-generic Swift classes, and some Swift structs/enums.
The framework detects the set of classes that are used, and the Scripts
directory in this repo contains a program to determine the set of all possible types that reaper can detect.
The difference of these sets are the unused types.
See additional resources below.
Add Reaper as a dependency with Swift package manager using the URL https://github.com/EmergeTools/Reaper
Add Reaper to your Podfile:
target 'MyApp' do
pod 'Reaper', '~> 1.6'
end
Download the latest XCFramework from Github releases.
Start the SDK at app launch by adding the following code:
import Reaper
...
EMGReaper.sharedInstance().start { types in
// Handle list of used types
}
Run tsc ./Scripts/main.ts
then node ./Scripts/main.ts PATH_TO_YOUR_APP.app