一个轻量级 macOS 菜单栏状态监视器,用 Swift、SwiftUI 和少量 AppKit 实现。
- 菜单栏状态图标
- 点击后弹出紧凑系统状态面板
- 每 2 秒刷新 CPU、内存、电池百分比
- CPU、内存、电池异常时发送低频通知提醒
- 底部“进程详情”窗口按需显示各进程 CPU / 内存占用图表
- 支持深色 / 浅色模式
- 使用 macOS 原生 API,无第三方依赖
outputs/
├── SystemStatusMenuBarApp.xcodeproj
└── SystemStatusMenuBarApp/
├── SystemStatusMenuBarApp.swift
├── AppDelegate.swift
├── Models/
├── Services/
├── Views/
├── Resources/
└── Assets.xcassets/
- 用 Xcode 打开
outputs/SystemStatusMenuBarApp.xcodeproj。 - Scheme 选择
SystemStatusMenuBarApp。 - 运行目标选择
My Mac。 - 点击 Run。
运行后应用不会出现在 Dock 中,只会显示在 macOS 顶部菜单栏。
xcodebuild \
-project outputs/SystemStatusMenuBarApp.xcodeproj \
-scheme SystemStatusMenuBarApp \
-configuration Release \
-derivedDataPath work/DerivedData \
CODE_SIGNING_ALLOWED=NO \
build构建产物会出现在 work/DerivedData/Build/Products/Release/占用监视器.app。
CPU、内存和电池数据均通过 macOS 原生只读 API 获取,不需要隐私类权限。
通知功能会在首次运行时请求 macOS 通知权限。默认规则:
- CPU 连续约 6 秒高于 85% 时提醒
- 内存连续约 6 秒高于 90% 时提醒
- 电池连续约 6 秒低于 20% 时提醒
- 同一类提醒至少间隔 15 分钟,避免频繁打扰
菜单栏弹窗底部的“进程详情”按钮会打开独立窗口,显示当前进程的 CPU 和内存占用条形图。为保持菜单栏 app 轻量,进程列表只在详情窗口打开时刷新,默认约每 3 秒采样一次。