腾讯开源垃圾清理软件柠檬 Lemon

语言: CN / TW / HK

电脑上的管家或者清理软件大家应该都用过,比如Windows的360、火绒,Mac的CleanMyMac都是不错的清理软件。今天我们给大家介绍的是,腾讯的柠檬Lemon清理工具。

Lemon是腾讯针对中国用户习惯打造的一款完全免费的垃圾清理工具,系统性解决macOS设备空间问题。并且,能对上百款软件提供定制化的清理方案和专业的清理建议,帮助用户轻松完成一键式的清理。整体设计上清新简洁,状态栏小巧好用,是一款Mac设备必备的实用工具。并且,最近Lemon开源了,有兴趣的爱好者可以下载源码并自行扩展相应的功能。

image.png

说到这,我已经迫不及待的想看看大厂的代码是怎么写的了。首先,我们从Lemon的Github托管地址下载项目。下载完成后,使用Xcode打开工程,工程结构如下图。

image.png

整个工程主要分为以下几个模块,大家可以根据这些模块自行去学习。

  • Lemon:主工程。
  • LemonMonitor:状态栏。
  • LemonBigOldFile:用于大文件清理。
  • LemonDuplicateFile:用于重复文件清理。
  • LemonPhotoClean:用于相似照片清理。
  • LemonUninstaller:用于应用卸载。
  • LemonPrivacyClean:用于隐私清理。
  • LemonLoginItemManager:用于开机启动管理。
  • LemonSpaceAnalyse:用于磁盘空间分析。
  • LemonFileMove:用于文件搬家。
  • LemonHardware:用于硬件信息获取。
  • LemonNetSpeed:用于网络测速。
  • LemonCleaner:用于实际清理操作。

接下来,我们选择运行设备为Mac就可以运行项目了,不过在运行的时候出现了下面的错误。

Showing All Messages No account for team "8PC4X7QUY9". Add a new account in the Accounts preference pane or verify that your accounts have valid credentials. (in target 'ViewAnimator_Tests')

错误的意思是,没有找到8PC4X7QUY9的凭证,需要使用我们自己的开发者凭证。我们可以复制错误码8PC4X7QUY9,然后在工程 Xcode 工具栏中粘贴错误码替换成自己的开发者账号信息即可。

image.png 接下来,我们再次运行项目,又报了如下一个错误。 Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier

对于这个问题,需要检查工程TARGETS下的Bundle Identifier是否已设置。如果是SDK的demo工程,Bundle Identifier通常是空白,需要手动填写,并在下面Signing的team中选择开发者账号。否则,填入对应的企业帐号信息。最后,在运行前,还需要我们填写App的分类,如下图。

image.png

最后,再次运行项目,就没有报错了,运行成功后,项目的主页面如下图,和官方发布的版本基本上是一样的。

image.png

可以看到,作为一款垃圾清理软件,Lemon基本上涵盖了一款清理类软件必备的功能,比如提供相似照片清理、大文件清理、隐私清理、应用卸载和开机启动项保护等功能。

同时,作为腾讯为数不多的开源项目,官方在对待开源这事上也非常关注,并在论坛提供了专业的栏目。

image.png

官方表示,柠檬清理作为一个小团队,能力和精力都有限,出于对国内开发者的信任,团队决定开源 Lemon,一起把它做得更好。其实,我还是挺佩服开源这个决定的,虽说这样开发者们就可以大显神通,帮助柠檬清理做得更好,但是这也给了盗版可乘之机。同时,官方也表示,开源不会影响到用户正常使用,仍然会正常迭代,把获得授权的代码整合到软件中。

参考:

柠檬 Lemon源码

柠檬 Lemon官网