如果您在MacBook上使用DropBox,那么一旦我们完成注册过程,您就必须看到它。它会关闭主窗口应用程序并从dock项目中自行删除它,但应用程序正在从状态菜单运行。
如何实现这一目标?
仅供参考:我不期待任何代码,只是理解或快速提示。我会弄清楚其余部分:)
稍后我将为launchd配置我的应用。因此,在系统启动时,它可以启动并在状态菜单中自动显示。现在我正在寻找一个好的资源(当然它很好,因为它的Apple Doc)但是因为我是一个天真的程序员,有没有人有一个很好的示例链接?它展示了如何在推出中添加应用程序?
我将关注此tutorial添加到启动中,以后用户可以根据需要更改其首选项,他们可以选择启用我的应用或启动时关闭
答案 0 :(得分:4)
要仅将您的应用作为状态菜单运行,请将以下某个键添加到info.plist文件中:
Application is agent (UIElement)
或:
Application is background only
至于两者之间的切换,我不确定最好的方法,但我建议将设置过程作为自己的应用程序。 (带有图标和窗口的应用程序)您可以在菜单项应用程序中包含应用程序,并在用户启动程序时自动启动它...
答案 1 :(得分:2)
正如Teak所说,您希望info.plist中的“Application is agent(UIElement)”键。这个键意味着您将没有停靠图标......这就是您想要的。但是,不需要使用“Application is background only”键。此键可以防止您在屏幕上放置任何窗口,这是不必要的。所以我会留下这把钥匙。
通常设置你的应用程序,这样在启动时不会自动显示任何窗口。在启动时进行某种检查以查看是否需要配置。如果是,则使配置窗口可见。您甚至可以在状态菜单中有一个“配置...”菜单项,这样您的用户就可以随时弹出配置窗口。这真的很简单,但只是不要使用“Application is background only”info.plist key。
顺便说一下,让窗户走到前面有点困难。诀窍是让你的应用程序首先像这样......#/ p>
[NSApp activateIgnoringOtherApps:YES];
[someWindow makeKeyAndOrderFront:nil];
答案 2 :(得分:0)
通常情况下,Dropbox示例中提到的情况使用两个单独的应用程序解决,一个用于菜单,一个用于另一个ui部分(具有提到的停靠图标f.e.),并且两个进程通过f.e.合作。 IPC。
在一个应用程序中执行相同操作有点棘手,您可以在此处找到我的详细信息