Mac:如何在Dock OSX xcode中保存备用应用程序图标

时间:2018-09-23 18:47:13

标签: xcode macos cocoa

在OSX应用程序的xcode中,我可以使用以下代码在扩展坞中更改应用程序图标:

let image = NSImage.init(named: NSImage.Name(rawValue: "AltAppIcon"))
NSApp.applicationIconImage = image

但是当我关闭应用程序时,停靠图像会恢复为原始图标。有没有一种方法可以保存替代图标,使其即使在关闭应用程序后也始终显示?感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以实现Dock tile插件。不幸的是,许多与此相关的文档都消失了。您通常可以在Code Loading Programming Topics中阅读有关可装入捆绑软件和插件的信息。

您将在应用程序项目中创建一个新的Bundle目标。 Dock tile插件的捆绑包扩展名必须是docktileplugin。您应该向该目标添加一个采用和实现NSDockTilePlugin协议的类。将捆绑软件的Info.plist中的NSPrincipalClass键设置为您的班级名称。

在主应用程序目标中,将要复制的捆绑软件目标的产品添加到应用程序捆绑软件的Contents / PlugIns目录中。另外,应用程序的Info.plist还需要一个键NSDockTilePlugIn,其值是插件包的名称。

加载插件后,系统将调用其-setDockTile:方法,并传入NSDockTile的实例供其使用。您的代码可以使用该对象来操纵应用程序的Dock磁贴。