Table of Contents
April 12, 2026 · View on GitHub
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
gem install fui
Get Help
fui help
Find Unused Classes in the Current Directory
fui find
The 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 find
Skip 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 find
Ignore 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 find
Ignore 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 find
Ignore 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 find
Ignore 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 find
Delete All Unused Class Files with Prompt
fui --path=~/source/project/Name delete --perform --prompt
Xcode 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.