XCode建立了一个GUI工程,程序分几种运行模式,一种是agent模式,还有一种是GUI界面。Agent模式是没有界面的GUI程序,经过LaunchAgents启动。建立出来的Info.plist默认有DockIcon,经过改plist无法知足需求。经过代码来控制也是比较简单,可是有几点注意事项:spa
1. 在设置隐藏Dock图标的时候须要重启应用程序,没法在运行时动态完成的,而在显示Dock图标的时候则不须要。code
2. 修改默认隐藏DockIcon,根据配置来动态显示DockIcon。orm
显示DockIcon代码:blog
if( [[NSUserDefaults standardUserDefaults] boolForKey:@"ShowDockIcon"] == NSOffState ) { [[NSUserDefaults standardUserDefaults] setBool: YES forKey: @"ShowDockIcon"]; ProcessSerialNumber psn = { 0, kCurrentProcess }; TransformProcessType(&psn, kProcessTransformToForegroundApplication ); }
在此记录!io