2014-11-20 91 views
0

我有一個簡單的命令行應用程序OSX make命令行應用程序顯示圖標,在碼頭,同時運行

#include <unistd.h> 

int main(int argc, const char* argv[]) { 
    sleep(100); 
    return 0; 
} 

是否有可能作出這樣的命令行應用程序顯示在Dock中的圖標,而它的運行還是我把它變成一個完整的應用程序包?

+0

有可能,WINE做到了這一點(儘管它可能需要一個GUI窗口,不確定)。對於典型的命令行應用程序,這聽起來很奇怪。你爲什麼想做這個? – 2014-11-20 22:48:06

+0

因爲我的命令行應用程序創建了一個模態對話框。但是該對話框可能出現在其他窗口的後面,除了關閉/移動/最小化所有其他窗口之外,用戶無法找到它。向文檔添加圖標意味着他們可以找到對話框。 – gman 2014-11-20 22:54:15

+0

@ AlexanderO'Mara,Wine的Mac驅動程序選擇不將後臺進程轉換爲前臺應用程序,直到Windows程序顯示一個窗口,但這不是框架所要求的。 – 2014-11-21 03:02:58

回答

1

鑑於應用程序創建了模態對話框,我假設它使用可可。在這種情況下,您可以在顯示對話框的位置執行[[NSApplication sharedApplication] setActivationPolicy:NSApplicationActivationPolicyRegular]

你應該知道Dock可能會顯示一個奇怪的圖標。在優勝美地之前,非捆綁的可執行文件有一個通用圖標,看起來有點像終端窗口,其中包含「exec」字樣。標題將是可執行文件的名稱。在優勝美地,非捆綁可執行文件的Dock圖標將是包含可執行文件的文件夾/目錄的圖標。它的標題也是該文件夾的名稱。 (就我而言,這是對蘋果公司的一個可怕的決定,但你打算怎麼辦?)

+0

謝謝。其實這似乎是一個很好的決定。讓你選擇一個相對容易的圖標。理想情況下,我希望能夠在10.9中選擇一個圖標。我嘗試設置'sharedApplication.applicationIconImg',但沒有運氣:( – gman 2014-11-21 03:57:32

+0

不知道如何在XCode中做到這一點,但我可以在命令行應用程序的文件中查找器中執行GetInfo並粘貼圖標。圖標顯示在文檔中不確定如何在XCode中自動執行該過程。 – gman 2014-11-21 05:17:56

相關問題