我有一個簡單的命令行應用程序OSX make命令行應用程序顯示圖標,在碼頭,同時運行
#include <unistd.h>
int main(int argc, const char* argv[]) {
sleep(100);
return 0;
}
是否有可能作出這樣的命令行應用程序顯示在Dock中的圖標,而它的運行還是我把它變成一個完整的應用程序包?
我有一個簡單的命令行應用程序OSX make命令行應用程序顯示圖標,在碼頭,同時運行
#include <unistd.h>
int main(int argc, const char* argv[]) {
sleep(100);
return 0;
}
是否有可能作出這樣的命令行應用程序顯示在Dock中的圖標,而它的運行還是我把它變成一個完整的應用程序包?
鑑於應用程序創建了模態對話框,我假設它使用可可。在這種情況下,您可以在顯示對話框的位置執行[[NSApplication sharedApplication] setActivationPolicy:NSApplicationActivationPolicyRegular]
。
你應該知道Dock可能會顯示一個奇怪的圖標。在優勝美地之前,非捆綁的可執行文件有一個通用圖標,看起來有點像終端窗口,其中包含「exec」字樣。標題將是可執行文件的名稱。在優勝美地,非捆綁可執行文件的Dock圖標將是包含可執行文件的文件夾/目錄的圖標。它的標題也是該文件夾的名稱。 (就我而言,這是對蘋果公司的一個可怕的決定,但你打算怎麼辦?)
有可能,WINE做到了這一點(儘管它可能需要一個GUI窗口,不確定)。對於典型的命令行應用程序,這聽起來很奇怪。你爲什麼想做這個? – 2014-11-20 22:48:06
因爲我的命令行應用程序創建了一個模態對話框。但是該對話框可能出現在其他窗口的後面,除了關閉/移動/最小化所有其他窗口之外,用戶無法找到它。向文檔添加圖標意味着他們可以找到對話框。 – gman 2014-11-20 22:54:15
@ AlexanderO'Mara,Wine的Mac驅動程序選擇不將後臺進程轉換爲前臺應用程序,直到Windows程序顯示一個窗口,但這不是框架所要求的。 – 2014-11-21 03:02:58