Xcode 4.4在开发工具中移除了Icon Composer。

37

我刚刚升级到最新最好的 Xcode 4.4,但找不到图标制作器。在 Xcode 4.3 中它在“开发人员工具”菜单项中,但现在我无处可找。

苹果是否忘记包含它了?我该如何在没有它的情况下创建图标呢?

我还尝试在终端中使用 iconutil,但收到“不支持 1024x1024”的错误提示。我正在运行 OSX 10.7.4。


截至2015年,你所要做的就是将正确尺寸的PNG图像拖入XCode中的“Images.xcassets”文件夹中。就是这么简单。所有这些答案都过于繁琐了。 - Bjorn
10个回答

60

我猜想苹果不希望你再使用它了。

编辑:更好的方法是将 .iconset 文件夹添加到 Xcode 的目标中。向下滚动到 Dvorak 的答案,这显然是更好的方法。


现在官方认可的方法是使用 iconutil 命令。

来自苹果的指南:

在创建必要的应用程序图标资产后,请将它们放入名为 icon.iconset 的文件夹中。要创建 .icns 文件,请在终端中使用 iconutil。终端位于 /Applications/Utilities/Terminal 中。输入命令 iconutil -c icns <iconset 文件名>,其中 <iconset 文件名> 是指向 .iconset 文件夹的路径。必须使用 iconutil 而非 Icon Composer 来创建高分辨率的 .icns 文件。

还有另一篇相关的苹果文档,更深入地解释了这个问题:高分辨率资源

作为参考,完整的图标集:

icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png

注意,最后一个等同于1024x1024,尽管似乎iconutil希望将其命名为512x512@2x,至少在Lion中是这样的。确保 - 这很关键 - 你拥有这完整的一组文件,否则您将遇到错误。请注意,例如缺少icon_64x64.png


1
我正在使用OSX 10.7.4,但iconutil不支持1024x1024像素的图片。我需要这个更大尺寸的图片来提交到应用商店。 - wigging
1
@Gavin,它应该被命名为“512x512@2x.png”或类似的名称,这样才能正常工作(我认为在最近的版本中已经删除了标签“1024x1024”)。如果这样还不行,那我就束手无策了,因为我一周前曾在Lion上使用iconutil进行提交。 - Vervious
2
哇,这现在真是个麻烦事。对我也不起作用。我得到了“laptop:〜crewshin$ iconutil -c icns〜/Desktop/icons.iconset/ImageIO:<ERROR> _CGImageDestinationCreateWithWriter容量参数(12)对于此文件格式太大(最大为10)”@Vervious - crewshin
6
回复自己。不得不删除一个64x64版本才能使其正常工作。 - crewshin
1
最简单的方法是将.iconset文件夹添加到项目和目标中,就像其他答案中所说的那样。您不需要自己运行iconutil。 - Peter Hosey
显示剩余2条评论

26

让Xcode自动创建icns文件

理想情况下,您应该提供完整的图标集。但是,没有完整的图标集也不是必须的;系统会选择最适合未提供大小和分辨率的图标。集合中的每个图标都提示系统使用最佳表示。

*

图标集需要放在一个带有 .iconset 扩展名的文件夹中。对于一个文件夹来说有扩展名可能看起来有点不寻常,但是这个扩展名是告诉系统,该文件夹包含了一组图标。

*

Xcode会自动验证并转换图标集文件夹为icns文件。你只需要将图标集文件夹添加到项目中并构建项目。生成的icns文件会自动添加到构建产品中。

*

注意: 不要使用Icon Composer,它无法创建高分辨率的icns文件。

提供所有应用程序图形资源的高分辨率版本

关于OS X的高分辨率


1
缺少一个重要的步骤。在 info.plist 文件中,将 "CFBundleIconFile" 的值设置为 [IconName],但不包括 .iconset 扩展名。 - John Ballinger
1
@JohnBallinger:那部分没有改变;无论您如何创建.icns文件,如果您计划使用图标,您始终需要这样做。 - Peter Hosey

6

顺便说一下,我花了一个小时才弄清楚为什么 iconsutilXCode 都无法生成图标:原来是因为我包含了一个64x64的版本,这是错误的!不需要64x64的版本。


3
是的,我也遇到了那个问题。原来 icon_32x32@2x 的尺寸是 64x64。 - wigging
1
原来这是一个相当愚蠢的工作流程。50% 的文件都是重复的。我们真的需要支持 1024 像素分辨率的图标合成器。漂亮的拖放用户界面,简单快速。 - crewshin
1
它们没有重复。32x32@2x 意味着 32 * 2 x 32 * 2,即 64 x 64,而 512 * 2 是 1024。这只是一种命名约定,用于指示这些不是标准尺寸,而是用于 Retina 显示器。 - uliwitness

6
我创建了一个Automator工作流程,它以1024像素的PNG图像为输入,并自动为您创建.iconset文件夹中的所有其他格式。从设计师的角度来看,这不是最佳选择,但在开发过程中非常完美,因为Xcode不再抱怨缺少16x16px格式。

https://github.com/audiocommander/Iconset-Generator


4

下载Xcode 4.4的图形工具。


3
Icon Composer包含在Xcode 4.4的图形工具下载中,但它不包括现在提交应用程序所需的1024像素选项。 - citruspi
Icon Composer是一款非常好用的工具,可以为我的Java应用程序生成适用于OS X和Windows的icns和ico文件。感谢您指出了Icon Composer的位置! - Jeremy Brooks

3
你可以找回旧版本!
  1. 访问苹果的开发页面,然后在Xcode下方点击“寻找旧版的Xcode”。
  2. 下载xCode 4.2。
  3. 安装完成后打开.dmg文件。
  4. 打开finder并点击“前往文件夹”。
  5. 输入“/Volumes/Xcode/Packages”。
  6. 右键单击“DeveloperTools.pkg”。
  7. 选择用“The Unarchiver”打开(如果你没有它,可以在App Store中免费下载)。
  8. 将其提取到桌面并打开文件夹。
  9. 右键单击payload文件并用“Archive Utility”打开。
  10. 打开payload文件夹并进入Applications > Utilities目录。
  11. 将其复制到应用程序文件夹或其他位置。

享受Icon Composer吧!


2

截至2015年,其他所有答案都过于繁琐或者完全错误。解决方法非常简单:

在此输入图片描述

你只需要按照以下尺寸创建所需的图片即可,无需进行其他操作:

16 x 16px
32 x 32px
64 x 64px
128 x 128px
256 x 256px
512 x 512px
1024 x 1024px

然后在Xcode中,在项目视图中点击Images.xcassets,然后从Finder中将图片拖到AppIcon方框中即可,无需费心地命名文件或创建目录,也不需要将目录移动到Xcode中。只需从Finder中拖拽图像即可。
这是其他人制作的关于在XCode中拖拽图标的视频: http://www.youtube.com/watch?v=OQN_AwcF0GU&t=4m0s

删除 64x64 和 64x64@2x 版本 - 此尺寸不是必需的,请参阅 https://developer.apple.com/library/mac/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html。使用 iconutil 时,您也会收到错误信息:iconutil[868] <Error>: ImageIO: _CGImageDestinationCreateWithWriter capacity parameter (12) is too large for this file format (max is 10)。 - kalmiya

2

我想确认一下,在Xcode 4.4的图形工具中,Icon Composer 2.4版本不支持1024尺寸,但旧的2.2版本支持。enter image description here


1
请阅读这个...

http://developer.apple.com/library/mac/#documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Introduction/Introduction.html#//apple_ref/doc/uid/TP40012302-CH1-SW1

...获取你的png图片的命名约定。

1024x1024不再受支持。相反,请按照上面链接页面上的说明使用512x512@2x命名约定。

您不需要再将其转换为icns文件,因为xcode会自动为您完成此操作,因此您甚至不需要使用iconutil。

以下是它的工作原理:

1)只需在项目中创建一个带有扩展名.iconset的文件夹。 2)将所有的png放入其中,但请确保它们都按照链接上面给出的说明恰当地命名。 3)像往常一样编译项目即可。

Xcode会自行处理剩余部分。


1

Iconsutil是XCode 4.4唯一接受的最佳方式。请确保将您的png文件命名为Vervious提到的准确名称,并提供所有文件,否则无法正常工作...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接