2013-10-17 43 views
1

我有一個應用程序,通過AppleScript從另一個程序員的應用程序獲取信息,並使用它通過串行端口轉動電機。可能停靠第三方程序?

我希望我的應用程序在另一個應用程序時可見(頂部)。停靠?兒童?這甚至有可能嗎?我來自Win的背景,並且仍然是Mac的新手,所以我不確定我是否問過正確的問題......

我沒有訪問其他程序的源代碼。作者可能願意通過腳本提供某些東西。

+0

我不認爲這是可能的。你可以得到另一個應用程序導出一些數據,然後可以稍後使用你的應用程序? – trojanfoe

+0

可能。什麼輸出,壽?一個跡象表明它在頂部? – Mike

回答

0

您可以創建launch agentKeepAlive + OtherJobEnabled鍵。

OtherJobEnabled 此字典中的每個鍵都是另一個作業的標籤。如果密鑰的值爲true,那麼只要該其他作業已啓用,該作業就會保持活動狀態。否則,如果該值爲假,則 則只要其他作業被禁用,該作業就保持活動狀態。

創建launchctl的plist和地點內/Library/LaunchAgents目錄或~/Library/LaunchAgents目錄的plist(是剛剛調用此用戶)。

的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 
+0

謝謝。我對Mac esoterica太新了,無法理解您引用的參考資料,或瞭解它對我的解決方案。我必須仔細研究。我的第一個任務是發現什麼是'工作'。 – Mike

+0

查看[技術說明TN2083]中的代理部分(https://developer.apple.com/library/mac/technotes/tn2083/_index.html#//apple_ref/doc/uid/DTS10003794-CH1-SUBSECTION3) –

+0

@Mike更新了答案。 –