Issue #38: DevCleaner by Konrad Kolakowski
Today, we're looking at DevCleaner by Konrad Kolakowski.
DevCleaner provides an effective solution for reclaiming storage on your machine by helping you delete stale Xcode caches.
Xcode often stores data in your ~/Developer
folder, and over time, most of those cached files and symbols are not automatically reclaimed. This can consume a significant amount of your storage, which is especially critical if you have a relatively small SSD drive.
With DevCleaner, you can easily inspect auto-generated files and clean them if necessary.
The app can also periodically remind you to perform a scan to help you ensure that your system stays optimized.
DevCleaner helps you manage the following:
Device Support
The largest part of Xcode's caches is consumed by the "Device Support" section.
Whenever a new iOS/watchOS/tvOS device is connected, its symbols must be downloaded to your computer for efficient debugging. This typically requires around 2-5GB of storage per version, and even small updates require a new set of symbols. Over time, this can accumulate and occupy GBs of storage.
Archives
When creating a build for distribution or export, Xcode generates a new archive that contains various information such as the build, debug symbols, and other details. While these archives are useful for crash symbolizations, we don't necessarily need to keep all of them.
DevCleaner offers a simple solution for inspecting archives and deleting older builds or versions that are not currently on the App Store.
Derived Data
This is where autocompletion data, logs, debug builds, intermediate products, etc., lives.
Documentation Cache
Newer versions of Xcode cache web-based documentation, but they do not clean up older caches. This can result in a significant amount of wasted storage space.
Old Simulator & Device Logs
Old device logs and crash databases accumulate over time, but only the most recent ones are necessary. Although newer versions of Xcode migrate old log databases, they still keep the older ones on disk.
Can you tell us a little bit about yourselves?
Hello, I’m Konrad and I’ve been making apps and games for over 15 years now!
Right now, I’m mostly focused on developing for Apple platforms. However, over the years I have worked on many different things, including game development and desktop app development.
How did you come up with the idea?
I wanted DevCleaner for myself first - I was simply annoyed with having to manually delete Xcode-generated files all the time.
I also thought that maybe someone else could benefit from it as well. It was also a good opportunity for me to learn more about AppKit and macOS development.
💡 Want to see your app featured?
Submit your app or reach out on Twitter 🐦
How did you market the app as an indie developer?
I didn’t really! DevCleaner is a free and open source tool, with only an optional tip-jar.
I never really thought about marketing DevCleaner, except for some tweets and toots, and letting some pages or mailing lists know about its existence. It seems that it was all spread through word of mouth! I imagine that developers passed the word about it among themselves.
And it worked, DevCleaner has been downloaded over 300,000 times now!
What’s your app design and development workflow like?
First of all, I have many ideas, so only very few of them actually become apps! When choosing an idea, I usually try to imagine the app in my head, including how it works and what the interactions will be like. After that, I try to write it down. If the idea still holds and I want to proceed, I then split the work into tasks using Trello and start working. That's only the beginning, though, because usually a lot of iteration and experimentation are still needed. That's why I like to prototype a lot and I'm not afraid to rework stuff if something doesn't really work.
Any advice on monetizing your app and improving conversions?
I didn't really make DevCleaner to make money, so I didn't really think about it. However, the app shows how much space you've saved, which might convince you to drop some change for coffee 😅.
What are the future plans for your app?
I'm thinking about moving DevCleaner out of the Mac App Store and sandbox, or at least creating a version that can run outside of the sandbox. This will allow for many more cleaning opportunities, such as simulator runtimes.
A quick welcome to the ✨ 5 new people ✨ joining us this week - feel free to reply to this email and say 👋.
If you're enjoying the newsletter, please consider sharing it! Have some feedback you want to share? Drop me a message 📧
If you missed last week's issue, you can read it here:
If you have an interview coming up, check out my books Ace the iOS Interview and Practical Tips for Junior iOS Developers!
Check out my blog for more articles on iOS Development & Swift.
Subscribe or follow me on Twitter for updates!