在运行时从Dock添加/删除应用程序图标?

ctp*_*ose 6 macos cocoa dock

是否有公共Apple API允许您在运行时删除应用程序的停靠图标?我尝试通过NSApplication的dockTile替换零大小的空视图,但这只是擦除了停靠图标而没有回收它的空间和启动指示器.我也知道应用程序的info.plist中的LSUIElement参数,但此值仅在启动时评估.它不是运行时参数.

Fra*_*rew 7

这是一条单行道:您可以将您的应用设置为NSUIElement以隐藏停靠栏图标,然后调用[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];以在停靠栏中显示它,但一旦它在那里您无法删除它.因此,您可以将停靠栏图标设置为用户可配置,但您必须重新启动应用程序才能隐藏图标.


编辑

您可以setActivationPolicy:NSApplicationActivationPolicyProhibited再次调用隐藏dock-icon - 用户1592530 12月18日在14:21

评论是对的.现在有两种方式--Diaj-Djan 12月24日12点46分


  • 您可以调用`setActivationPolicy:NSApplicationActivationPolicyProhibited`来再次隐藏dock-icon (4认同)