macOS自动升级需图形界面、后台服务、定时任务和配置文件四层协同:必须开启检查更新,再配置下载与安装选项;终端命令可重置调度与守护进程;自定义launchd任务可设定精确时间;还需锁定配置防止被重置。

macOS 的自动升级功能不是“一键开启就万事大吉”,它由多个层级协同控制:图形界面开关、后台服务状态、定时任务调度,以及系统级配置文件。只开一个选项,可能被其他设置覆盖或忽略。关键在于让检查、下载、安装三个环节都按需启用,并确保底层服务持续运行。
图形界面中启用并细化自动更新行为
这是最常用也最直观的方式,适合大多数用户。进入「系统设置」→「通用」→「软件更新」,点击「自动更新」旁的 ⓘ 图标,再点「高级」: - 必须勾选「检查更新」——这是所有自动行为的前提,不勾此项,后续下载和安装都不会触发; - 勾选「下载可用的更新」,让新版本在后台静默获取,避免临时占用带宽; - 根据需要选择「安装 macOS 更新」(含大版本升级)和「安装来自 App Store 的应用程序更新」; - 「安装安全响应和系统文件」建议始终开启,这类更新通常无需重启,且修复高危漏洞。注意:“显示 macOS 升级提醒”保持开启,否则即使有 Ventura 或后续版本发布,系统也不会弹窗提示你确认升级。
终端命令恢复或强制启用更新调度
如果图形界面设置无效,或者你曾执行过禁用命令(如 `sudo softwareupdate --schedule off`),需用终端重置: - 运行 `sudo softwareupdate --schedule on` —— 恢复每日定时检查机制; - 运行 `sudo launchctl enable system/com.apple.softwareupdated` —— 启用系统守护进程; - 若该进程当前未运行,补一句 `sudo launchctl bootout system/com.apple.softwareupdated` 再 `sudo launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.softwareupdated.plist` 确保加载。这些命令直接影响 /System/Library/LaunchDaemons/com.apple.softwareupdated.plist 的启用状态,比界面操作更底层、更稳定。
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
用 launchd 定制升级执行时间
系统默认在空闲时尝试安装,但无法精确到某一时段。若希望每周日凌晨 2 点自动检查并安装(避开工作时间),可自建定时任务: - 创建 plist 文件,例如 `/Library/LaunchDaemons/com.my.autoupdate.plist`,内容包含: - `⚠️ 注意:此方式会绕过图形界面设置,且要求 Mac 当时处于开机、联网、电源连接状态;若中途断电或休眠,任务将跳过。
防止策略被意外重置
仅改系统设置容易失效,因为: - 某些管理工具(如 MDM 方案)或系统更新本身会重写 `/Library/Preferences/com.apple.SoftwareUpdate.plist`; - 图形界面关闭「检查更新」后,`softwareupdate --schedule` 状态可能仍为 on,造成行为不一致; - 建议配合 `defaults write com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true` 锁定检查开关,并用 `sudo chmod 600 /Library/Preferences/com.apple.SoftwareUpdate.plist` 限制写入权限。不复杂但容易忽略

















