18

我想在提交一个新的 Mac 应用程序之前,我真的已经走到了最后一步,在过去的几个小时里,我一直在努力思考我认为应该非常非常简单的事情。

我为我的应用程序创建和使用的两种不同类型的图标设计了文档图标。我在 Images.xcassets 中创建了一个新的“图标”,并将适当的文件放入拖放区。

在产品编辑器-> 信息中,我转到文档类型信息所在的位置,但是当我尝试在“文档类型”或“导出的 UTI”部分的“图标”字段中输入图标名称时,图标图像就变成了问号——图标的下拉菜单中不显示任何选项。

如何让资产目录中的图像/图标显示在编辑器中?或者,如果我要手动将其输入到 plist 中,我将使用哪种格式来引用资产目录中的图标文件?

我知道我可能在这里错过了一个简单的步骤,但我看不到它!

4

4 回答 4

11

据我所知,Xcode 目前不支持将 .xcassets 用于文档图标。这有点奇怪——.xcassets 编辑器明确允许您创建新图标,但它不会生成 .icns 文件,它只是将所有文件放在同一个文件夹中并使用 plist 来管理它们。

要为您的文档类型创建图标,请将 1024x1024 版本的图标上传到http://iconverticons.com/online/以将其转换为 .icns 文件。或者,您可以使用第三方工具生成 .icns 文件,其中包含针对不同分辨率的不同图像。开发人员工具中曾经包含一个很棒的工具来执行此操作,但我似乎再也找不到它了。

获得 icns 文件后,将其添加到您的项目中,您应该能够选择它作为文档类型或外部/内部 UTI 的“图标”。享受!

老实说,可能值得为此提交一个错误。如今,Xcode 的开发似乎受到 iOS 的强烈推动,他们可能还没有注意到这一点!

于 2013-12-01T13:29:42.683 回答
7

我以最简单的方式做到了:

  1. 例如,将“New OS X Icon”添加到 images.xcassets 并将其命名为“DocIcon”。
  2. 拖放文档图标的图像
  3. 只需在文档的图标名称中键入“DocIcon”

您将看到问号作为文档图标缩略图。别在意。构建和启动应用程序后,一切都会正常工作。

于 2014-06-28T07:07:59.890 回答
3

这对我有用,在 2019 年使用 Xcode 10(在我的情况下,其他答案均无效):

  1. 在 Project Navigator 中选择资产目录
  2. 右键单击左窗格(资产列表)并选择应用程序图标和启动图像▶︎新的 macOS 通用图标(从底部开始的第二个选项)。将其命名为“文档”。这将在资产目录目录中创建一个名为“Document.iconset”的文件夹。
  3. 使用您的自定义图像填充所有条目。它们都必须具有适当的尺寸(例如,“16 x 16 @2x”必须是 32 x 32 像素,否则您会在图像槽上看到黄色的警告图标)。
  4. 导航到资产目录文件夹,并使用命令:(iconutil -c icns Document.iconset必须与在步骤 #2 中创建的图标的名称相匹配)。我从Apple的文档here中获取了这个命令(顺便说一句,它还说一些关于Xcode的BS“在构建时从你的.iconset文件夹自动创建一个.icns文件”。当然......)。

  5. 将新创建的Document.icns文件作为资源复制到您的项目中。

  6. 选择目标,打开Info窗格,然后在Document TypesExported UTIs中将您的 .icns 文件设置为文件类型的图标。

于 2019-03-13T08:30:22.973 回答
0

嘿,阿莱萨姆,

我遇到了同样的问题,并且已经研究了几天。我找到了四个解决方案,其中前三个对我不起作用: 1. 使用 .png 文件作为文档类型图标文件;2.使用手动创建的.icns文件作为文档类型图标文件;3.上述解决方案,以及4.我将在这里描述的内容。只有最后一个对我有用。

我尝试遵循上述建议的精神,发现它不起作用,至少对于我的 MacOS 应用程序而言。我在运行 Xcode 版本 5.1 (5B130a) 的 OS X 10.9.2 (13C64) 上。

当前的智慧似乎是在您的工作区中创建一个具有小写名称和 .iconset 扩展名的目录,其中放置带有 icon_ 前缀和通常后缀(16x16.png、16x16@2x.png、32x32)的文件。 png 等)

在产品编辑器的信息窗格中,您可以进入文档类型并将 .iconset 文件与图标字段相关联。图标图像愉快地显示了一些合理的东西。构建过程会根据该规范构建一个 .icns 文件并将其复制到您的应用程序中。

我遇到了 .icns 文件无法构建的间歇性问题,我追踪到该问题错误地在列表中包含了一个 64x64 图标。那是不行的。

目前苹果在这个问题上的教条可以在官方文档中找到,它涵盖了我在这里忽略的一些细节。我不需要直接编辑 Info.plist 文件:一切似乎都可以通过 Xcode 中提供的接口进行。

我不知道哪种解决方案在哪种情况下有效,但我想我会添加更多替代方案供人们尝试。—吉姆·科普林

于 2014-04-03T17:26:06.167 回答