Fui
Find unused Objective-C imports.
What fui does: finds header (
.h) files that are never imported anywhere in your project — i.e. classes that can potentially be deleted entirely.What fui does not do: find
#importstatements within a file that are unused by that file's code. For that, use a tool like Clang's unused-includes warning or AppCode.
Table of Contents
- Usage
- Get Help
- Find Unused Classes in the Current Directory
- Find Unused Classes in any Path
- Skip Interface Builder (.xib) Files
- Ignore Local Imports
- Ignore Global Imports
- Ignore a Path
- Ignore Multiple Paths
- Delete All Unused Class Files with Prompt
- Xcode Plugin
- Contributing
- Copyright and License
Usage
gem install fuiGet Help
fui helpFind Unused Classes in the Current Directory
fui findThe find command lists all header (.h) files that are not imported anywhere in the project, and exits with the number of such files found.
Find Unused Classes in any Path
fui --path=~/source/project/Name findSkip Interface Builder (.xib) Files
Running fui with -x (or --ignore-xib-files) will, for example, mark Foo.h as unused when Foo.xib holds a reference to the Foo class and no other references to Foo.h exist.
fui -x --path=~/source/project/Name findIgnore Local Imports
Running fui with -l (or --ignore-local-imports) will, for example, mark Foo.h as unused when Bar.h contains a local (quotation syntax) import of Foo.h (eg. #import Foo.h).
fui -l --path=~/source/project/Name findIgnore Global Imports
Running fui with -g (or --ignore-global-imports) will, for example, mark Foo.h as unused when Bar.h contains a global (bracket syntax) import of Foo.h (eg. #import <Framework/Foo.h>).
fui -g --path=~/source/project/Name findIgnore a Path
Running fui with -i (or --ignore-path) will, for example, ignore a Pods folder when searching for headers or referencing files.
fui --path=~/source/project/Name --ignore-path=Pods findIgnore Multiple Paths
Running fui with -i (or --ignore-path) can ignore multiple folders when searching for headers or referencing files.
fui --path=~/source/project/Name --ignore-path=Pods --ignore-path=Libraries findDelete All Unused Class Files with Prompt
fui --path=~/source/project/Name delete --perform --promptXcode Plugin
Use xcfui for integration with Xcode.
Contributing
There're a few feature requests and known issues. Please contribute! See CONTRIBUTING.
Copyright and License
Copyright (c) 2014-2018, Daniel Doubrovkine, Artsy, based on code by Dustin Barker.
This project is licensed under the MIT License.