以编程方式更改命令行应用程序图标

问题描述 投票:-2回答:1

我已经为macOS创建了一个快捷命令行应用程序(没有XCODE,只是一个简单的.swift文件),用于构建macOS安装程序。

[当我使用sudo swift install.swift运行该应用程序时,该应用程序将以带有终端应用程序设计的图标打开,如下所示:

Icon

我想从代码中更改该图标,可能吗?我正在使用Appkit。

swift macos command-line appkit
1个回答
0
投票

您可以通过设置NSApplicationapplicationIconImage属性来更改图标。也就是说,如果您可以获得图像。由于您的程序不是捆绑的应用,因此提供图像并不容易。

但是,当程序退出时,将不可避免地出现视觉故障。当它在消失之前在Dock中缩小时,其图标将恢复为该“ exec”图标。另外,如果该图标最终出现在Dock的最近使用的应用程序部分中,那么该图标也将是“ exec”图标。换句话说,仅在程序运行时,程序设置的图标才会保留。

顺便说一句,以root特权运行高级框架显然是不明智的。它打开了一个大型的攻击面,尚未对安全性进行真正的审核。您可能希望将程序分为用户应用程序和特权帮助程序。

© www.soinside.com 2019 - 2024. All rights reserved.