macos之如何删除 shell 可执行文件的停靠图标
我有一个用 Eclipse 构建的 Java 应用程序,适用于 Mac OS X。 此应用程序是通过 .pkg 文件安装的,应该是守护程序。在 Macbooks (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 个链接。
请您参考如下方法:
所以,我终于找到了解决方案!解决方案分为几个步骤。
第 1 步:编辑 Info.plist
我必须添加 LSBackgroundOnly 键。它是一个字符串,必须设置为1。
如 Apple Documentation 中所述:
LSBackgroundOnly
specifies whether this app runs only in the background. If this key exists and is set to “1”, Launch Services runs the app in the background only.
信息:
虽然文档指定此键是一个 bool 值,但将其设置为一个字符串并在其中包含值1 就可以达到目的。
这样做:
转到您应用的文件夹
进入 .app 的文件夹,然后进入 Contents 文件夹(例如/Applications/test.app/Contents)
<使用您想要的任何文本编辑器(SublimeText、TextEdit、Xcode 等)打开 Info.plist
在 closing dict 标记 (
</dict>
) 之前添加以下行
<key>LSBackgroundOnly</key>
<string>1</string>
保存一切。
第 2 步:编辑 appname.ini
最初我只做了第 1 部分,所以还不够。我在 this question 中找到了解决方案.
该文件位于应用程序 .app 内的“Contents/MacOs”文件夹中(例如/Applications/testapp.app/Contents/MacOs/testapp.ini) .
打开 .ini 文件(使用您想要的任何文本编辑器)。
在
-vmargs
之前行,添加以下行:-nosplash
-vmargs
之后行,添加以下两行:-Xdock:hidden
-Dapple.awt.UIElement=false
保存文件,现在您可以启动该应用:它不应该是 Dock 和“强制退出”窗口中的任何图标,但您的应用应该在后台运行。
希望对你有帮助,
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。