A tool to identify unused code in Swift projects. The scan command is Periphery's primary function. To begin a guided setup, simply change to your project directory. To get coherent results from Periphery, it's crucial to understand the implications of the build targets you choose to analyze. For example, imagine a project consisting of three targets: App, Lib and Tests. The App target imports Lib, and the Tests targets imports both App and Lib. If you were to provide all three to the --targets option then Periphery will be able to analyze your project as a whole. However, if you only choose to analyze App and Lib, but not Tests, Periphery may report some instances of unused code that are only referenced by Tests. Therefore when you suspect Periphery has provided an incorrect result, it's important to consider the targets that you have chosen to analyze.
Features
- Periphery first builds your project
- For Xcode projects the schemes provided via the --schemes option are built using xcodebuild
- After your project is built, Periphery performs an indexing phase
- Once indexing is complete, Periphery analyzes the graph to identify unused code
- The goal of Periphery is to report instances of unused declarations
- Periphery can identify unused function parameters