可以停靠第三方程序?

时间:2013-10-17 13:47:55

标签: objective-c cocoa

我有一个应用程序,通过AppleScript从另一个程序员的应用程序获取信息,并使用它通过串口转动电机。

我想我的应用程序在其他应用程序可见时(在顶部)。停靠?儿童?这甚至可能吗?我来自Win背景,还是Mac的新手,所以我不确定我问的是正确的问题....

我无法访问其他程序的来源。作者可能愿意通过脚本提供一些东西。

1 个答案:

答案 0 :(得分:0)

您可以使用KeepAlive + OtherJobEnabled密钥创建launch agent

  

OtherJobEnabled              此词典中的每个键都是另一个作业的标签。如果键的值为true,那么              只要启用了其他作业,此作业就会保持活动状态。否则,如果值为false,              只要其他工作被禁用,这项工作就会继续存在。

创建launchctl plist并将该plist放在/Library/LaunchAgents目录或~/Library/LaunchAgents目录中(仅为此用户调用)。

<强> 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>Label</key>
    <string>appName</string>
    <key>KeepAlive</key>
    <dict>
        <key>OtherJobEnabled</key>
        <dict>
            <key> labelof_another_job</key>
            <true/>
        </dict>
    </dict>
    <key>ProgramArguments</key>
    <array>
        <string>yourApp.app/Contents/MacOS/yourApp</string>
    </array>
</dict>
</plist>

现在打开终端并运行

launchctl load pathToplistFile // use sudo if file is in /Library/LaunchAgents