macOS可通过三种独立方法实现每日定时启动应用:一、快捷指令+AppleScript创建时间自动化;二、终端配置launchd代理,精准后台触发;三、AppleScript应用设为登录项并延迟执行。

如果您希望 macOS 每天在固定时间自动启动特定应用程序(如 Safari、微信或备忘录),但系统本身不提供原生“定时开启 App”的图形化选项,则需借助自动化工具组合实现。以下是三种互不依赖、可独立生效的可行方法:
一、使用快捷指令创建基于时间的个人自动化
该方法利用 macOS 内置的“快捷指令”App,通过时间触发器调用 AppleScript 启动指定应用,无需命令行,且支持每日重复执行,所有操作均在用户登录状态下运行。
1、打开“快捷指令”App,切换到“自动化”标签页。
2、点击右上角“+”号,选择“创建个人自动化”,触发器类型选“特定时间”。
3、设定目标时间(例如 08:00:00),开启“重复”并选择“每天”。
4、点击“下一步”,添加操作,搜索并选择“运行AppleScript”。
5、在脚本框中输入:
tell application "Safari" to launch
(将 “Safari” 替换为实际应用名称,如 "WeChat" 或 "Notes")
6、点击“下一步”,关闭“运行前询问”开关,点击“完成”保存。
二、通过终端配合 launchd 创建定时启动代理
该方法在用户登录后由 launchd 后台服务按计划唤醒并执行启动指令,不依赖图形界面是否活跃,适合需要严格按时触发且保持后台稳定性的场景。
1、打开“终端”应用。
2、执行命令创建配置目录:
mkdir -p ~/Library/LaunchAgents
3、使用 nano 编辑器新建 plist 文件:
nano ~/Library/LaunchAgents/com.user.autostart.safari.plist
(将 “safari” 替换为应用标识符,如 wechat、notes)
4、粘贴以下内容(以每日 09:15 启动 Safari 为例):
olor:#f60; text-decoration:underline;" title= "apple" href="https://www.php.cn/zt/19200.html" target="_blank">apple.com/DTDs/PropertyList-1.0.dtd">
5、按 Control+O 保存,Control+X 退出 nano。
6、加载代理:
launchctl load ~/Library/LaunchAgents/com.user.autostart.safari.plist
三、结合系统登录项与 AppleScript 延迟启动
该方法先将脚本设为登录时启动,再由脚本内部控制延迟至指定时刻运行目标应用,适用于需避开登录初期资源争抢、或与其他登录项协调启动顺序的场景。
1、打开“脚本编辑器”App(位于“应用程序 > 实用工具”)。
2、输入以下 AppleScript(示例:登录后等待至 10:00 启动微信):
on idle
set currentTime to time string of (current date)
set targetTime to "10:00:00"
if currentTime is targetTime then
tell application "WeChat" to launch
return false
else
return 30
end if
end idle
3、菜单栏选择“文件 > 导出”,格式选“应用程序”,勾选“运行前不显示窗口”,保存为“Daily WeChat Starter.app”。
4、进入“系统设置 > 登录项”,点击“+”添加该应用程序。
5、确保该条目已启用,且未勾选“隐藏”选项(否则 idle 循环无法持续运行)。










