如何获得标准 Mac OS X 图标以在您的应用中使用?

How to get standard Mac OS X icons to use in your app?

您如何获得标准 Mac OS X 图标以用于您的设计/应用程序?

我所说的标准图标是指此屏幕截图中的工具栏图标:

是否有存储这些文件的位置或从 Mac OS X 应用程序中提取它们的任何方法?

请参阅 +[NSImage imageNamed:(NSString)name] 以及其中的链接以获取 os 定义图像的不同列表...

例如

NSImage * img = [NSImage imageNamed:NSImageNameFolder];

具体列出了工具栏图像:
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSImage_Class/index.html#//apple_ref/doc/constant_group/Toolbar_Named_Images

并非所有这些都是标准的。对于那些,您使用 +[NSImage imageNamed:] 和系统定义的图像名称常量之一,例如 NSImageNameGoLeftTemplateNSImageNameIconViewTemplate.

其他images/icons可从IconServices获得:

/*
   Type of the predefined/generic icons. For example, the call:
      err = GetIconRef(kOnSystemDisk, kSystemIconsCreator, kHelpIcon, &iconRef);
   will retun in iconRef the IconRef for the standard help icon.
*/

/* Generic Finder icons */

public var kClipboardIcon: Int { get }
public var kClippingUnknownTypeIcon: Int { get }
public var kClippingPictureTypeIcon: Int { get }
public var kClippingTextTypeIcon: Int { get }
public var kClippingSoundTypeIcon: Int { get }
public var kDesktopIcon: Int { get }
public var kFinderIcon: Int { get }
public var kComputerIcon: Int { get }
public var kFontSuitcaseIcon: Int { get }
public var kFullTrashIcon: Int { get }
public var kGenericApplicationIcon: Int { get }
public var kGenericCDROMIcon: Int { get }
...
...

您可以使用带有上述常量的 NSWorkspace 图标方法:

NSWorkspace.shared.icon(forFileType: NSFileTypeForHFSTypeCode(UInt32(kGenericApplicationIcon)))