You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整macOS中Launch Daemon/Agent在登录项列表的显示内容?

macOS Launch Daemon 部署相关问题解答

我在macOS上部署了系统级Launch Daemon,对应的配置plist文件路径为/Library/LaunchDaemons/com.example.MyDaemon.plist,文件内容如下:

<?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>MachServices</key>
    <dict>
        <key>com.example.MyDaemon.launch.agent</key>
        <true/>
    </dict>
    <key>Disabled</key>
    <false/>
    <key>Label</key>
    <string>com.example.MyDaemon</string>
    <key>Program</key>
    <string>/Library/PrivilegedHelperTools/com.example/MyDaemon</string>
    <key>ProgramArguments</key>
    <array>
        <string>-d</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

安装该plist或用户重新登录时,macOS会弹出不友好的提示窗口,程序也会出现在「设置-通用-登录项」列表中。针对这一情况,我有三个疑问,对应的解答如下:

疑问1:能否自定义弹窗中显示的程序名称?当前弹窗显示“MyDaemon”,希望替换为更友好的描述

可以自定义。弹窗里的名称读取的是程序二进制文件的显示名称(CFBundleDisplayName),你需要给Daemon程序添加Info.plist文件,在其中设置CFBundleDisplayName字段为你想要的友好名称。如果你的Daemon是命令行工具,建议把它放进标准的.app包结构的Contents/MacOS目录下,配合Info.plist来定义显示信息;也可以在代码签名时,把这些显示信息嵌入到二进制的代码段中。

疑问2:登录项中显示「来自未识别开发者」的提示,其他程序无此问题,该如何解决?

这是因为你的程序没有完成苹果要求的开发者签名+公证流程,解决步骤如下:

  • 用苹果开发者账号,通过codesign命令给Daemon程序做代码签名;
  • 将签名后的程序提交给苹果完成公证;
  • 确保/Library/PrivilegedHelperTools目录下的程序文件权限符合macOS要求,必要时给plist文件也做签名。
    完成以上操作后,系统就能识别你的开发者身份,不再显示“未识别开发者”的提示。

疑问3:为何我的程序会触发该弹窗,而Zoom等程序不会?

Zoom这类正规软件都完成了苹果要求的完整代码签名+公证流程,而且它们的Launch Daemon/Agent是通过苹果认可的方式部署的(比如使用SMJobBless框架安装Privileged Helper Tools),这种方式属于用户授权的合法操作,系统不会触发警告。另外,它们的程序都包含完整的Info.plist信息,系统能正确识别程序的用途和开发者身份,自然不会弹出安全提示。而你的程序未经过这些合规步骤,系统无法确认其安全性,就会触发默认的安全弹窗。


内容的提问来源于stack exchange,提问作者c00000fd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 22:23:25