swift - 以编程方式更改命令行应用程序图标
问题描述
我为 macOS 创建了一个 swift 命令行应用程序(没有 XCODE,只是一个简单的 .swift 文件),用于构建 macOS 安装程序。
当我使用 运行应用程序时sudo swift install.swift
,应用程序会打开一个图标,其终端应用程序设计如下:
我想从代码中更改该图标,这可能吗?我正在使用 Appkit。
解决方案
NSApplication
您可以通过设置的applicationIconImage
属性更改图标。也就是说,如果您可以获得图像。由于您的程序不是捆绑应用程序,因此提供图像并不容易。
但是,当您的程序退出时,将会出现不可避免的视觉故障。它的图标将恢复为那个“执行”图标,因为它在 Dock 中缩小,然后消失。此外,如果图标最终出现在 Dock 的最近使用的应用程序部分,它也将是“exec”图标。换句话说,图标集仅在程序运行时以编程方式持续存在。
顺便说一句,以 root 权限运行高级框架显然是不明智的。它打开了一个没有真正经过安全审计的大型攻击面。您可能希望将您的程序分成用户应用程序和特权助手。
推荐阅读
- javascript - 如何使用香草javascript一次只检查一项?
- javascript - React:从 html 字符串中的模板标签创建输入的方法
- python - SyntaxError: 非 ASCII 字符 '\xe2' 只需复制到另一个项目
- reactjs - 如何正确处理 ReactJS 中的全局状态?
- node.js - 在 Node 中,如何让函数在下一个命令之前运行?
- android-studio - Android:如何在 Kotlin 中投射?
- reactjs - 将 createContextualFragment 与 JSX 一起使用
- python - 逐行填充 Numpy Array
- garbage-collection - 读/写障碍如何真正应用于垃圾收集代码?
- c# - C# 等价于 C++ Vector< Vector
> 巨型维克;