如何为 Mac 上的任何应用程序获取高分辨率应用程序图标?

How to get a high resolution app icon for any application on a Mac?

Apple 文档指定 NSWorkspace icon(forFile:) returns 一个 32x32 的图标,但我不确定如何指定不同的大小。

这是我用来显示 XCode 图标的示例 SwiftUI 代码:

Image(
  nsImage: NSWorkspace.shared.icon(forFile: "/Applications/XCode.app/")
).renderingMode(.original)

我找到的一种方法是使用 bestRepresentation。您应该传入您希望图像所在的尺寸(例如 1024x1024),它会为您找到该尺寸的最佳表示。

if let rep = NSWorkspace.shared.icon(forFile: "/Applications/XCode.app/")
    .bestRepresentation(for: NSRect(x: 0, y: 0, width: 1024, height: 1024), context: nil, hints: nil) {

}

然后您可以 draw NSImageRep,或使用它创建一个 NSImage

let image = NSImage(size: rep.size)
image.addRepresentation(rep)