如何创建一个也有(可移动)停靠图标的帮助应用程序(LSUIElement)

时间:2011-03-21 20:00:04

标签: macos osx-snow-leopard statusbar mac-app-store

我已经向Mac App Store提交了一个帮助应用程序(使用LSUIElement)。我误以为App Store安装过程会为帮助应用程序设置一个停靠图标。

如果状态栏应用程序独立运行(如热门应用程序Caffeine),如何创建用户可以删除的停靠图标?我是否需要创建一个加载LSUIElement应用程序的非LSUIElement应用程序,还是有更好的方法?

2 个答案:

答案 0 :(得分:19)

使用NSApplication的setActivationPolicy:方法,而不是使用LSUIElement。默认情况下,应用程序将具有停靠图标,但通过将激活策略更改为NSApplicationActivationPolicyAccessory,您可以获得与LSUIElement相同的效果,同时能够以编程方式更改它(NSApplicationActivationPolicyAccessory的文档说它等同于LSUIElement = 1)。

- (void)applicationDidFinishLaunching:(NSApplication *)app {
    if([[NSUserDefaults standardUserDefaults] boolForKey:@"HideDockIcon"])
        [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory];
}

答案 1 :(得分:1)

显然,我的应用评论员(实际上有两个)误导了我。安装过程为您创建了停靠栏图标 。按下这个问题,我能够通过审核过程获得应用程序。