Sha*_*i K 5 macos cocoa objective-c launch-agent window-server
我launchAgent使用以下命令从安装后脚本启动a :
su -l $LOGGED_IN_USER -c "/bin/launchctl load /Library/LaunchAgents/com.myApp.mac.agent.plist"
Run Code Online (Sandbox Code Playgroud)
代理显示状态项(NSStatusItem),其中包含几个菜单选项.其中一个有一个设置选项.单击此按钮将打开一个NSWindow,几个NSTextFields.有时,虽然这个窗口是最顶层的,但无论我输入什么内容都会转到底层应用程序.我无法在文本字段中输入任何内容.每当发生这种情况时,我会注意到控制台中的以下日志:
WindowServer[97]: [cps/setfront] Failed setting the front application to MyApp, psn 0x0-0xb20b2, securitySessionID=0x186c5, err=-600
Run Code Online (Sandbox Code Playgroud)
这不是一致的行为.知道为什么这个日志来了吗?这有什么工作吗?是否可以使用启动代理su -l?
我不知道您为什么会收到该错误和行为。我建议阅读技术说明 TN2083:守护进程和代理。它详细解释了进程执行上下文的各个方面以及它们如何影响进程可以执行的操作。这包括进程是否可以连接到 Window Server。
就其价值而言,错误 -600 是procNotFound,其描述是“没有具有指定描述符的合格进程”。Window Server 似乎无法在给定的安全会话中找到具有给定进程序列号 (PSN) 的进程。
我不会-l在你的sudo命令中使用。用户的登录脚本可以执行各种疯狂的操作,而您的安装程序则不会执行这些操作。但是,我认为这与主要问题无关。
| 归档时间: |
|
| 查看次数: |
1027 次 |
| 最近记录: |