如何使用在Xcode的首选项面板中看到的常规和下载图标?

时间:2015-02-02 13:38:34

标签: xcode cocoa nstoolbar nstoolbaritem

我一直在创建一个首选项面板,当用户点击我的Cocoa应用程序中的 + 时,会弹出一个首选项面板,我想使用相同的 Xcode 中使用的常规下载图标。

enter image description here

但是,据我所知,当我将图像工具栏项目从对象库移动到IB中的工具栏,然后在上搜索相应的图像名称 >属性检查器,我在列表中找不到这些图标。起初我想知道这是否仅适用于Apple的软件,但后来我发现第三方应用程序中使用了相同的 General Downloads 图标,例如作为Dash:

enter image description here

此外,图像名称中的NSPreferencesGeneral与上面工具栏中显示的常规图标不同。那么我怎样才能在我的应用程序中使用正确的工具栏图标(在Yosemite中构建)?

更新

奇怪的是,即使在Apple的软件中,也会使用两种类型的 General 图标。下面的工具栏来自 Calendar.app ,但这也用于其他软件,例如 Safari Terminal

enter image description here

常规图标看起来与Retina显示屏不完全兼容。更糟糕的是, Xcode 6.2 使用第一张图片中显示的酷图标,而 Xcode 6.3 beta 使用 Calendar.app中看到的尴尬图标< / em>的

此外,NSImage Class Reference显示与Xcode(6.2)和Dash中相同的酷图标。

enter image description here

那么这里发生了什么......?请注意,我在同一台Mac上的同一操作系统上使用了我在本文中提到的所有应用程序。谁知道为什么会这样?

2 个答案:

答案 0 :(得分:2)

“下载”图标是自定义的,是Xcode资源的一部分。您没有此作品,也没有权利重新发布它。我怀疑Dash的开发者也没有Apple的权限来重新分发该图标。

对于常规图标,系统提供的图标(作为所有系统提供的图标)可供开发人员在通过NSImage API访问时使用。您在Calendar.app中看到的那个,就像下载图标一样,是Calendar.app中的资源。我不完全确定这是否是某个公共领域的形象,但它很可能是Apple的财产。

无论哪种方式,最大的合法利益都是不在未经许可的情况下在您自己的应用中重新分发艺术品(同样,通过API访问的标准图标不会“重新分发”,因此您可以安全地使用它们 - 这就是他们的意思'那里)。您的选择是:a)使用公共领域的艺术品,b)制作您自己的艺术品,c)获得书面法律许可以重新分发其他人的艺术作品,d)购买现成的艺术品,或e)支付图形艺术家为您制作定制艺术品

答案 1 :(得分:0)

我会使用NSImage documentation的“常量”部分提供的图像,而不用担心它究竟是哪个版本,因为你无法控制它(Apple也没有提供)