如何删除shell可执行文件的停靠图标?

时间:2014-05-22 09:23:42

标签: macos shell icons executable dock

我有一个用Eclipse构建的Java应用程序,适用于Mac OS X. 此应用程序通过 .pkg 文件安装,并且应该是守护程序。一切正常,Macbook (Pro,Retina),但我使用的是 iMac ,当应用程序启动时,我在 Dock <上有一个图标/ strong>,正如你所看到的那样 following link

我已经尝试过这个主题的解决方案: stackoverflow.com/a/620950/3641679 但它没有工作(我仍然有Dock图标)。目前, Info.plist 看起来像this

我该怎么办?

感谢您抽出时间帮助我。

信息(假设应用名称为testapp)

  • 使用 launchctl start / stop
  • 停止启动守护程序
  • 当我双击可执行文件时(在testapp.app/Contents/MacOs/ testapp 中)我在Dock中有testapp.app(在Info.plist中指定了图标文件) 。这是一个截图 res.cloudinary.com/doit0eqlo/image/upload/v1400750376/app_k3adzh.png
  • 对于某些链接,我必须有10个声望才能发布超过2个链接。

2 个答案:

答案 0 :(得分:2)

将此添加到您的info.plist: -

<key>LSUIElement</key>
<true/>

请注意,此处的值设置为“true”而不是1

作为Apple docs州: -

  

指定应用程序是否为代理应用程序,即不应出现在Dock或Force Quit窗口中的应用程序。有关详细信息,请参阅“LSUIElement”。

答案 1 :(得分:2)

所以,我终于找到了解决方案!解决方案分为几个步骤。

第1步:编辑Info.plist

我必须添加 LSBackgroundOnly 键。它是字符串,必须设置为 1

Apple Documentation中所述:

  

LSBackgroundOnly

     

指定此应用程序是否仅在后台运行。如果此密钥存在且设置为“1”,则启动服务仅在后台运行应用程序。

信息:

虽然文档指定此密钥是布尔,但将其设置为字符串,其中值 1 就可以了。< / p>

这样做:

  1. 转到您应用的文件夹

  2. 进入 .app 的文件夹,然后进入内容一个(例如/Applications/test.app/Contents)

  3. 使用您想要的任何文本编辑器打开 Info.plist (SublimeText,TextEdit,Xcode等)

  4. 结束 dict标记(</dict>)之前添加以下行

  5.   
        

    <key>LSBackgroundOnly</key>

             

    <string>1</string>

      

    保存所有内容。

    第2步:编辑appname.ini

    最初我只做了第1部分,所以还不够。我在this question找到了解决方案。

    该文件位于应用程序 .app 内的“目录/ MacOs ”文件夹中(例如/Applications/testapp.app/Contents/MacOs/testapp.ini)

    1. 打开 .ini 文件(使用您想要的任何文本编辑器)。

    2. -vmargs行之前,添加以下行:-nosplash

    3. -vmargs行之后,添加以下两行:

        

      -Xdock:隐藏
        -Dapple.awt.UIElement =假

    4. 保存文件,现在您可以启动应用程序:它既不应该在Dock中也不应该在“强制退出”窗口中,而应该在后台运行。

      希望这有帮助,