Mac系统可通过快捷指令时间自动化、launchd后台代理、AppleScript登录项延时启动三种原生方案实现软件每日定时启动:快捷指令需用户已登录且图形界面活跃;launchd不依赖GUI,适合后台严格守时;AppleScript登录项适用于登录后延时启动。

Mac系统本身不提供图形化界面直接设置“某软件在每天几点自动开启”的功能,但可通过三种互不依赖的原生方案实现:快捷指令时间自动化、launchd后台代理、AppleScript登录项延时启动。每种方法触发时机与稳定性不同,需按实际需求选择。
用快捷指令创建每日定时启动
该方法依赖用户已登录且图形界面活跃,适合需要交互式启动(如弹出主窗口)的日常办公类应用。
1、打开“快捷指令”App → 切换到“自动化”标签页 → 点击右上角“+” → 选择“创建个人自动化”。
2、触发器选“特定时间”,设定目标时刻(例如07:30:00),开启“重复”并勾选“每天”。
3、点击“下一步” → 添加操作 → 搜索“运行AppleScript” → 选择该操作。
4、在脚本框中粘贴:
tell application "WeChat" to launch
(将“WeChat”替换为你想启动的实际应用名,如 "Notes"、"Slack";【必须使用应用的完整显示名称,不是文件名,例如微信桌面版填“WeChat”,不是“WeChat.app”】)
5、点击“下一步” → 关闭“运行前询问” → 点击“完成”。
用launchd配置后台定时唤醒
此方法在用户登录后由系统守护进程执行,不依赖图形界面是否就绪,适合需严格守时、无窗口干扰的后台型启动(如定时拉取数据的工具)。
方法一:终端新建plist文件
1、打开“终端”,依次执行:
mkdir -p ~/Library/LaunchAgents
nano ~/Library/LaunchAgents/com.user.daily.wechat.plist
2、在nano编辑器中粘贴以下内容(以每日08:15启动微信为例):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.daily.wechat</string>
<key>ProgramArguments</key>
<array>
<string>open</string>
<string>-a</string>
<string>WeChat</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>8</integer>
<key>Minute</key>
<integer>15</integer>
</dict>
</dict>
</plist>
3、按 Control+O 保存 → 回车确认文件名 → Control+X 退出。
4、加载任务:
launchctl load ~/Library/LaunchAgents/com.user.daily.wechat.plist
方法二:验证与卸载(备用)
查看当前所有用户级定时任务:launchctl list | grep com.user
停用该任务:launchctl unload ~/Library/LaunchAgents/com.user.daily.wechat.plist
用AppleScript设为登录项并延迟执行
当你不需要精确到分钟级触发,而只想让某个App在登录后稍等片刻再启动(避开系统初始化争抢),这个方法最轻量。
第一步:准备脚本
打开“脚本编辑器”App → 新建文档 → 粘贴:
delay 30
tell application "Safari" to launch
(【delay数值单位为秒,建议设15–60之间,太小易失败,太大影响体验】)
第二步:保存为应用程序
菜单栏选“文件→导出” → 文件名填“Launch Safari Late” → 格式选“应用程序” → 勾选“保持为纯文本” → 保存到“应用程序”文件夹。
第三步:添加到登录项
系统设置 → 通用 → 登录项 → 点“+” → 找到刚保存的“Launch Safari Late.app” → 点击“添加”。

















