Status: Maintained
Version: 3.3.1
Download
ยท
Commits
An open-source mac app cleaner inspired by Freemacsoft's AppCleaner and Sun Knudsen's Privacy Guides post on his app-cleaner script. This project was born out of wanting to learn more on how macOS deals with app installation/uninstallation and getting more Swift experience. If you have suggestions I'm open to hearing them, submit a feature request!
- 100% Swift
- Small app size (~2MB)
- Quick file search, can be made instant by enabling Instant Search in settings which caches all the apps and files on startup
- Reverse search for finding remaining files from already uninstalled applications
- Sentinel monitor helper that can be enabled to watch Trash folder for deleted apps
- Sentinel monitor is extremely small (210KB) and uses ~2mb of ram to run in the background and file watch
- Mini mode which can be enabled from Settings
- Can drop apps to uninstall directly on the Pearcleaner Dock icon itself or the drop target in the app window
- Will differentiate between regular apps and Safari web-apps with a "web" label next to each item in the list
- Will differentiate between regular apps and wrapped iOS apps with an "iOS" label next to each item in the list
- Has clean uninstall menu option for the Pearcleaner app itself if you want to stop using it and get rid of all files and launch items
- New feature alert on app startup
- Menubar option
- Optional Homebrew cleanup
- Custom auto-updater that pulls latest release notes and binaries from GitHub Releases (Pearcleaner has to run from /Applications folder for this to work because of permissions)
![](https://private-user-images.githubusercontent.com/91337119/309429655-64f581a6-47b7-4ad1-acd3-24d585407aa7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTE1MDg4MDIsIm5iZiI6MTcxMTUwODUwMiwicGF0aCI6Ii85MTMzNzExOS8zMDk0Mjk2NTUtNjRmNTgxYTYtNDdiNy00YWQxLWFjZDMtMjRkNTg1NDA3YWE3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAzMjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMzI3VDAzMDE0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ2NDkyZWMzMWRlYjAwYWZmOThkNDkwNTdiNDBkZGQxZWRmZGZiNzI3Mzg0MjE4NTMwYTUxYmVmNGY2Yzg0YzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.hBkIOh0lslydu4kbsaM8oPDzwy25x7w8lCUxo11trOQ)
![](https://private-user-images.githubusercontent.com/91337119/309429656-22786ddf-00c6-43d7-8fd2-d11b1237e56b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTE1MDg4MDIsIm5iZiI6MTcxMTUwODUwMiwicGF0aCI6Ii85MTMzNzExOS8zMDk0Mjk2NTYtMjI3ODZkZGYtMDBjNi00M2Q3LThmZDItZDExYjEyMzdlNTZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAzMjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMzI3VDAzMDE0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBhMTYyMDJjMmMwNjZmYTE1ZGFhYjkzNGZjYjQ2ZTNkZmNlMzJhMzQ5NGM1Yzg0YjIxNWM4Nzk1NDRjNzlkYmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.urjVDoUt1WHA4KPGzlFORTdMFk2QOOtApqlcZ5By6Qo)
![](https://private-user-images.githubusercontent.com/91337119/309429657-327388d9-e043-40ba-b473-4a7c255b1cdf.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTE1MDg4MDIsIm5iZiI6MTcxMTUwODUwMiwicGF0aCI6Ii85MTMzNzExOS8zMDk0Mjk2NTctMzI3Mzg4ZDktZTA0My00MGJhLWI0NzMtNGE3YzI1NWIxY2RmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAzMjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMzI3VDAzMDE0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNiOGFhOGM1YmEwNWVhNGE4MmJhNGQ2YTE5ZGU3NDkyYmQ0NjIzMTViOWExNjRkMzgwNDA3YWM0OTNkN2NlOGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.GH5vULXDRnH-z1veaQax8HTBL6o3eKqAMZv9qejtAdE)
![](https://private-user-images.githubusercontent.com/91337119/309429658-6f4b247b-4bee-4db8-a758-fa55673dfe9a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTE1MDg4MDIsIm5iZiI6MTcxMTUwODUwMiwicGF0aCI6Ii85MTMzNzExOS8zMDk0Mjk2NTgtNmY0YjI0N2ItNGJlZS00ZGI4LWE3NTgtZmE1NTY3M2RmZTlhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAzMjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMzI3VDAzMDE0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk3YmQ5NjU4ZGQxNzgzNDdmZjcwYjIyODNmNWVlNzE0ZDE0ZTZkMjEzNzIyMjM4ZGM2ZDRmZTFjNTFhOTU3ZjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.KeO91cbp7X9TXHOCWMYlpkMgNA4pXtYXo1GyaEhN7kA)
- MacOS 13.0+ (App uses a lot of newer SwiftUI functions/modifiers which don't work on any OS lower than 13.0)
- Open Pearcleaner first time by right clicking and selecting Open. This adds an exception to Gatekeeper so it doesn't complain about the app not being signed with an Apple Developer certificate
- Full Disk permission to search for files and also Accessibility permission to delete/restore files
Releases
Pre-compiled, always up-to-date versions are available from my releases page. You might need to open this with right click-open since I don't have a paid developer account.
Homebrew
Since I don't have a paid developer account, I can't submit to the main Homebrew cask repo. You can still add the app via Homebrew by tapping my homebrew repo:
brew install alienator88/homebrew-cask/pearcleaner
Much appreciation to Freemacsoft's AppCleaner and Sun Knudsen's app-cleaner script