2011-03-04 33 views
0

在mac osx中,大多數應用程序都保留停靠圖標。 但是,如果相同應用程序的開發人員想要隱藏停靠欄圖標,那麼他如何隱藏它?以不同方式在Mac OSX中禁用應用程序的停靠欄圖標

作爲一名開發人員,我知道'Info.plist'屬性文件是一種隱藏應用程序的停靠欄圖標的方法。

但是我們還有其他解決方案嗎?

我希望應該有一些其他的方式大家都知道「有N對問題的解決方案的方式沒有」

在此先感謝

米@ k4mac

+0

爲什麼你應該作爲應用程序開發人員能夠控制用戶的碼頭? – 2011-03-04 13:00:06

+1

@Cody Gray:某些應用程序被設計爲在後臺運行,而不是在Dock中顯示它們的圖標。 – mipadi 2011-03-04 17:16:22

+0

@mipadi:啊,我的意思不是通過'Info.plist',專門用來解決這個用例。 – 2011-03-05 13:19:08

回答

1

的信息。 plist解決方案是從Dock中隱藏圖標的唯一方法(對於GUI應用程序)。

你想完成什麼?也許有一個解決方案可以解決,如果你提供更多的細節。

2

如果您正在開發應用程序,您希望在Info.plist中將LSUIElement設置爲TRUE。

如果你是正在運行該應用程序,你可以使用像Dockless這樣的程序。

如果你想多餘的選項,使用Linux :)

1

這LSUIElement方法是在10.8

不再起作用添加Carbon.framework 化妝的plist應用程序代理(的UIElement)= 1檢查

// this should be called from awakeFromNib method 
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"LaunchAsAgentApp"]) 
{ ProcessSerialNumber psn = { 0, kCurrentProcess }; 

// display dock icon 
TransformProcessType(&psn, kProcessTransformToForegroundApplication); 

// enable menu bar 
SetSystemUIMode(kUIModeNormal, 0); 

// switch to Dock.app 
[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:@"com.apple.dock" options:NSWorkspaceLaunchDefault additionalEventParamDescriptor:nil launchIdentifier:nil]; 

// switch back 
[[NSApplication sharedApplication] activateIgnoringOtherApps:TRUE]; 

} 
相關問題