腾讯开源垃圾清理软件柠檬 Lemon
电脑上的管家或者清理软件大家应该都用过,比如Windows的360、火绒,Mac的CleanMyMac都是不错的清理软件。今天我们给大家介绍的是,腾讯的柠檬Lemon清理工具。
Lemon是腾讯针对中国用户习惯打造的一款完全免费的垃圾清理工具,系统性解决macOS设备空间问题。并且,能对上百款软件提供定制化的清理方案和专业的清理建议,帮助用户轻松完成一键式的清理。整体设计上清新简洁,状态栏小巧好用,是一款Mac设备必备的实用工具。并且,最近Lemon开源了,有兴趣的爱好者可以下载源码并自行扩展相应的功能。
说到这,我已经迫不及待的想看看大厂的代码是怎么写的了。首先,我们从Lemon的Github托管地址下载项目。下载完成后,使用Xcode打开工程,工程结构如下图。
整个工程主要分为以下几个模块,大家可以根据这些模块自行去学习。
- 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 工具栏中粘贴错误码替换成自己的开发者账号信息即可。
接下来,我们再次运行项目,又报了如下一个错误。
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的分类,如下图。
最后,再次运行项目,就没有报错了,运行成功后,项目的主页面如下图,和官方发布的版本基本上是一样的。
可以看到,作为一款垃圾清理软件,Lemon基本上涵盖了一款清理类软件必备的功能,比如提供相似照片清理、大文件清理、隐私清理、应用卸载和开机启动项保护等功能。
同时,作为腾讯为数不多的开源项目,官方在对待开源这事上也非常关注,并在论坛提供了专业的栏目。
官方表示,柠檬清理作为一个小团队,能力和精力都有限,出于对国内开发者的信任,团队决定开源 Lemon,一起把它做得更好。其实,我还是挺佩服开源这个决定的,虽说这样开发者们就可以大显神通,帮助柠檬清理做得更好,但是这也给了盗版可乘之机。同时,官方也表示,开源不会影响到用户正常使用,仍然会正常迭代,把获得授权的代码整合到软件中。
参考:
- 腾讯开源垃圾清理软件柠檬 Lemon
- RxDogTag:自动标记RxJava原始订阅点
- 2021,字节最值得关注的10个开源项目
- Google Colab 在线机器学习平台使用教程
- 前端如何开始深度学习,那不妨试试JAX
- 高仿京东Android App,集成React-Native热更功能
- 一文读懂Kotlin的数据流
- Android动态更换应用图标
- HTTP 3规范正式发布
- 基于Linphone开发Android音视频通话
- 走进WWDC 2022苹果开发者大会
- RN 基于Metro 拆包实战
- H.264/H.265/H.266音视频编码基础
- Android AMS面试题
- Android车载应用开发之出识Android Automotive
- Android App跳转微信小程序
- 导出iphone手机安装包的几种方法
- iOS最新打包发布流程
- 汽车软件工程师如何使用Rust开发软件系统
- Android 面试之必问Android基础