我正在iMac的登录页面上创建一个需要GUI的OSX应用程序,我想知道(如果可能的话)我可以在重启后运行launchd plist文件。以下plist文件位于" / Library / LaunchAgents /" 目录中:
<?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>Disabled</key>
<false/>
<key>Label</key>
<string>com.example.apple-samplecode.PreLoginAgentCocoa</string>
<key>LimitLoadToSessionType</key>
<string>LoginWindow</string>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/Library/PrivilegedHelperTools/PreLoginAgentCocoa.app/Contents/MacOS/PreLoginAgentCocoa</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
该文件适用于我从桌面注销但在重新启动计算机时无法正常工作。
任何帮助都很有用。
答案 0 :(得分:0)
对当前登录的会话用户执行OSX应用程序需要在iMac登录页面上的GUI
LaunchAgents
。当您重新启动Mac并显示登录屏幕时,没有会话用户。
正如Apple Documentation所述: -
用户代理本质上与守护程序相同,但特定于给定的登录用户,并且仅在该用户登录时执行
如果没有给定的“登录用户”,您的应用程序将无法作为LaunchAgent
执行。
该文件适用于我从桌面注销的时间
会话用户此时仍然可用,因此在会话用户发布之前将在注销时运行。