6

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

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

4

2 回答 2

22

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

- (void)applicationDidFinishLaunching:(NSApplication *)app {
    if([[NSUserDefaults standardUserDefaults] boolForKey:@"HideDockIcon"])
        [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory];
}
于 2011-03-21T22:05:13.750 回答
1

显然,我的应用审阅者(实际上是其中两个)误导了我。停靠图标由安装过程为您创建的。按下这个问题,我能够通过审查过程获得该应用程序。

于 2011-03-24T01:31:02.300 回答