騰訊開源垃圾清理軟體檸檬 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官網