利益相关声明:作者与文中产品有直接的利益相关(开发者、自家产品等)

文末有CleanDiskGo永久会员赠送

大家好,我是CleanDiskGo的开发者。

做这个App的起因特别简单:我有台老旧的MacBook Air是256G的,天天被"磁盘几乎已满"逼疯。市面上能用的清理工具,要么是订阅制贵得离谱,要么虽然免费但背后在偷偷收集用户数据。

而我作为一个从业十来年的iOS开发,整理了技术方案,发现非常简单,于是决定自己手搓一个。

于是,就这么跳进了坑里。CleanDiskGo也从一个小工具慢慢长成了现在这个样子。上周我发了次大更新,我觉得该来少数派认真聊聊了:到底改了啥,为啥这么改。

追CleanMyMac的清理规则

从年初我开始系统性地干一件事:把CleanMyMac的清理规则一条条拆开,看它扫了哪些目录、覆盖了哪些应用、哪些场景它能扫到而我扫不到,然后一条条补。

先从微信、企业微信、飞书、钉钉、QQ这些国内用户天天用的应用入手。它们的缓存目录藏得五花八门,Container里、Group Containers里、应用自己建的隐藏文件夹里,哪儿都有。

补完社交和办公类,范围越扩越大。Adobe全系设计软件、国内外云盘、媒体播放器、开发工具、视频剪辑软件、各种游戏平台,一路扫过去。Xcode的DerivedData、Archives、iOS模拟器镜像这些几十G的大头也单独翻了一遍。浏览器除了Safari和Chrome,Edge和各种国产变体也没落下。还有最近的各种AI工具。

同时还建了白名单。有些文件虽然在缓存目录里,但删了会让软件出问题。激活信息、数据库索引、用户自定义模板之类,一个个标记出来,扫描时自动跳过。清理工具最重要的不是能删多少,而是不能删错东西!

这轮搞完,CleanDiskGo的清理规则已经完全超过CleanMyMac。

关于软件卸载

软件卸载这个功能CleanDiskGo很早就有,第一版真实纯手写,当时AI效果并不是很好。但之前的版本有个毛病:大软件的残留路径覆盖不全。

举Google Chrome例子吧,大家每天都在用。你要是只是把它从"应用程序"文件夹里删掉,它会在你Mac上留下很多东西。

首先是 ~/Library/Application Support/Google/Chrome/,用户数据、配置文件、插件全在这里,动辄好几个G。然后是 ~/Library/Caches/com.google.Chrome/,浏览器缓存、图片、JS、CSS塞了一堆。~/Library/Preferences/com.google.Chrome.plist 存着偏好设置,倒是占用不大但就是赖着不走。最烦的是 ~/Library/LaunchAgents/com.google.keystone.agent.plist,Google的自动更新程序,Chrome都删干净了它还在后台跑。还有系统级的 /Library/Google/GoogleSoftwareUpdate/ 更新服务残留,以及 ~/Library/Saved Application State/ 下面的窗口恢复状态也给你留着。

就一个浏览器,拖进废纸篓之后剩6个地方的东西。一般用户根本不知道这些目录的存在。

这段时间我把卸载规则库整个重做了一遍。办法跟清理规则一样:装上应用,用文件系统diff工具看它到底动了哪些目录,记下来,写进规则库。Adobe系列、Office系列、Xcode、Docker、Android Studio、Parallels Desktop、各种国产浏览器,这些大家伙一个个过了一遍。

这个时候要好好夸一下AI,真心帮了大忙o(╥﹏╥)o

关于人民币配色的这个想法

写代码写到凌晨的时候脑子容易冒出奇怪的想法。

有一天晚上我在调颜色主题,盯着钱包里的人民币发呆。1块是绿的,5块是紫的,10块是蓝的,20块是棕的,50块是青绿的,100块是红的。这不就是现成的配色方案吗。我就真做了。

主题名对应面额颜色
不焦绿¥1淡绿色
绝绝紫¥5紫色
不摆蓝¥10蓝色
糖太棕¥20棕色
放青松¥50青绿色
发财红¥100红色

名字是Gemini给的方案。"不焦绿"谐音"不焦虑",1块钱面额最小,不用焦虑。"放青松"谐音"放轻松",50块钱面额大一些,可以放松一下。"绝绝紫"蹭了个网络梗。"发财红"字面意思,谁不爱毛爷爷。

一个系统清理工具做6个颜色主题,从产品角度讲确实没啥用。但我觉得工具不一定要那么无聊。用户每天打开CleanDiskGo清理垃圾这件事本身就挺烦的,换个好看的颜色能让他心情好一点点,那这个功能就没白做。

而我现在最喜欢用的是"糖太棕"。

系统数据分析:我最想做的一个功能

做CleanDiskGo这段时间,看到网上用户反馈最多的一句:"系统数据到底是什么?为什么占了100多G?能不能删?"

macOS存储管理里的"系统数据"是个黑盒。用过Mac的人都领教过。Time Machine本地快照、iOS备份、各种应用的沙盒容器、系统日志全混在一起,只给你看一个灰色的数字。

我一直想做这个功能,但之前没敢动。系统数据的构成太复杂了,很多目录是系统保护的,分析起来权限和安全都是坑。

这轮更新我先重构了整个工具箱。之前工具箱里的功能是东一个西一个加上去的,交互乱得不行。这轮重新做了分类和统一交互。

工具箱搞完之后,我就开始死磕系统数据分析。

它干的事情其实很简单:把那坨灰色的"系统数据"拆开。Time Machine快照占了多少,iOS备份残留占了多少,各应用的沙盒数据占了多少,系统缓存和日志占了多少,一项项列出来,你可以按自己的需要选择性清理。

这个功能目前已经上线,因为CleanDiskGo是零数据收集原则,目前不太清楚用户关于该工具的的使用情况,有使用的朋友可以帮忙反馈下,非常感谢!

最后说几句

CleanMyMac是MacPaw公司开发,做了十几年,产品成熟。我一个独立开发者想追上去,确实有难度。但不代表没机会。大团队有大团队的打法,一个人也有一个人的打法。

我的打法很简单:盯着国内Mac用户真正头疼的问题,一个个解决。微信缓存、系统数据黑盒、卸载残留。这些问题CleanMyMac不是解决不了,而是他们面向全球用户,不可能像我一样花两三个月专门抠国产应用的缓存路径。

这轮更新花了我好几个月的晚上和周末。结果是值得的。清理规则和卸载规则数量上都超了CleanMyMac,工具箱重新理了一遍,系统数据分析功能也上了。还有那6个人民币配色,虽然没啥用,但我自己是真的喜欢。

CleanDiskGo目前在App Store排行榜上大概一百来名,最高的一次冲到了五十多名。对独立开发者来说我已经很满意了,但离"被更多人知道"还有很长的路要走。

最后,赠送给少数派的朋友10个永久会员,领取的朋友希望能在评论区回复一下,避免其他同学重复尝试。

H6JW3TLJXFM84NWFA7https://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=H6JW3TLJXFM84NWFA7 
HR7JTXFNMTPP4WMRFAhttps://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=HR7JTXFNMTPP4WMRFA 
34EETTEK3RFYPNXTWKhttps://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=34EETTEK3RFYPNXTWK 
WAJT6A4LPWHFTJEH6Thttps://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=WAJT6A4LPWHFTJEH6T 
AFRNP47R4H7R7JXJAWhttps://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=AFRNP47R4H7R7JXJAW 
KXFLAP683YM46LATEPhttps://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=KXFLAP683YM46LATEP 
PPMPFWK4E3LPFH7NYPhttps://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=PPMPFWK4E3LPFH7NYP 
TY7HLE3FFT8FXRTEJ6https://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=TY7HLE3FFT8FXRTEJ6 
PX37N7PEELNHN86LL8https://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=PX37N7PEELNHN86LL8 
8A3LKXPPEM33KAL67Rhttps://apps.apple.com/redeem?ctx=offercodes&id=6749827671&code=8A3LKXPPEM33KAL67R