Skip to content

wentaoz/MacDailyCleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MacDailyCleaner 图标

MacDailyCleaner · Mac 日常清理

原生、轻量、完全本地运行的 macOS 日常清理与磁盘状态工具。

MacDailyCleaner 使用 SwiftUI、AppKit 和 Apple 公开 API 构建。它把常用清理入口、磁盘空间分析以及 CPU、内存、磁盘和系统热状态集中在一个菜单栏应用中;不上传文件名、路径或设备指标。

当前版本:1.0.1 · 支持 macOS 13+ · 当前 DMG 为 Apple Silicon(arm64)预览版

下载与安装

  1. GitHub Releases 下载 MacDailyCleaner-1.0.1.dmg
  2. 打开 DMG,将 Mac 日常清理拖入 Applications
  3. 双击应用即可显示主窗口;关闭窗口后仍可从菜单栏继续使用。

当前公开构建使用 ad-hoc 本地签名,尚未经过 Apple Developer ID 公证。首次打开时,macOS 可能显示“无法验证开发者”;请确认安装包来自本仓库,再在 Finder 中右键应用并选择“打开”,或前往“系统设置 → 隐私与安全性”确认打开。

发布包 SHA-256:

12b248242019992690c1191f3064d6a3dfeada5417d14f369a051289c978bfbd

主要功能

  • 在菜单栏快速查看 CPU、内存、磁盘和 Apple 官方热状态。
  • 在主窗口查看最近 60 个系统采样点和本地磁盘卷容量。
  • 扫描超过 7 天的用户缓存、日志和崩溃报告。
  • 查找超过 30 天的 DMG、PKG、ZIP 下载残留。
  • 单独展示废纸篓内容,默认不勾选,防止误清理。
  • 分析个人目录或任意可访问目录,定位最大目录和超过 1 GB 的文件。
  • 拖入应用后,根据 Bundle ID 查找用户目录中的关联残留。
  • 支持每日定时扫描、空间阈值通知和登录启动。
  • 在本机保存最近 90 天或 200 条清理历史。

安全与隐私

  • 不使用 root helper,不清理 /System/usr 或系统级 /Library
  • 缓存、日志和废纸篓只有在用户确认后才会永久删除。
  • 下载残留、磁盘分析结果、应用和卸载残留会先移到废纸篓。
  • 执行前重新检查路径、文件标识和修改时间,并拒绝符号链接与越界路径。
  • 只有应用主程序成功移动后,才会继续处理对应残留。
  • 不自动删除 Group Containers 等可能由多个应用共享的数据。
  • 不联网,不包含遥测,不上传文件名、路径或系统指标。

建议第一次清理时逐项检查结果,并先备份重要文件。任何清理工具都不应替代可靠备份。

权限说明

完全磁盘访问不是必需条件。没有授权时,应用会继续扫描可读取位置并报告跳过项。若希望获得更完整的扫描结果:

  1. 打开“系统设置”。
  2. 进入“隐私与安全性 → 完全磁盘访问权限”。
  3. 添加并启用 MacDailyCleaner.app
  4. 重新启动应用并扫描。

登录启动使用 macOS 13+ 的 SMAppService。该设置需要从打包后的应用运行;直接执行 swift run 时不会注册。

从源码构建

需要 macOS 13+ 和 Swift 6 工具链;源码保持 Swift 5 语言兼容模式。

swift build
swift run MacDailyCleanerRegressionTests

当前精简 Command Line Tools 环境不带 XCTest/Swift Testing 模块,因此仓库提供独立回归程序,覆盖路径保护、扫描分类、文件变化保护、硬链接去重、历史记录和应用残留匹配。

如果 SwiftPM 无法写入用户级缓存,可改用仓库内缓存:

CLANG_MODULE_CACHE_PATH=.build/ModuleCache \
swift run --disable-sandbox \
  --scratch-path .build \
  --cache-path .build/cache \
  --config-path .build/config \
  --security-path .build/security \
  MacDailyCleanerRegressionTests

构建 .app

./script/build_app.sh

构建并启动:

./script/build_and_run.sh

打包 DMG:

./script/package_dmg.sh

产物位于 dist/。脚本默认使用 ad-hoc 本地签名,适合开发和本机测试。

Developer ID 正式发布

安装完整 Xcode 并配置 Apple Developer 证书后:

CODESIGN_IDENTITY="Developer ID Application: YOUR NAME (TEAMID)" \
  ./script/package_dmg.sh

xcrun notarytool submit dist/MacDailyCleaner-1.0.1.dmg \
  --keychain-profile YOUR_NOTARY_PROFILE \
  --wait

xcrun stapler staple dist/MacDailyCleaner-1.0.1.dmg

正式发布前,建议至少在 macOS 13 和当前 macOS 版本上各完成一次真机冒烟测试。

当前限制

  • “温度”使用 Apple 官方提供的正常、偏高、严重、临界四档热状态,不显示摄氏温度。
  • 内存占用根据 VM 页统计计算,可能与“活动监视器”存在小幅差异。
  • APFS 克隆文件可能共享物理块,因此目录大小属于估算值。
  • 不处理需要管理员权限的应用,也不清空其他磁盘上其他用户的废纸篓。
  • 目前没有重复文件、SMART 健康、网络、电池、自动更新和孤立残留扫描。

版本记录

请参阅 CHANGELOG.md。v1.0.1 的完整说明位于 发布说明

版权

Copyright © 2026 William Chang. All rights reserved. 当前仓库未附加开源许可证。

About

A native, privacy-first macOS menu bar cleaner and disk health utility built with SwiftUI.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages