如何在Xcode中为Mac应用程序设置图标?


87

我已经学习了很多有关编写Objective-C代码和在Interface Builder中进行设计的知识,并且我想为我的简单程序设置图标。

我在Icon Composer的所有大小字段中添加了相同的JPG,并获得了ICNS,但我不知道如何将其添加到项目中。

先感谢您。

Answers:


162

由于Xcode 4.4 Icon Composer不再是创建图标的推荐方式,并且不再包含在Xcode的标准安装中。由于引入了带有视网膜显示屏的Mac,现在建议提供所有图形的高分辨率版本,包括应用程序图标。

要在Xcode> 4.4下为您的应用提供图标,请执行以下操作:

  1. 在Finder中创建一个文件夹[IconName] .iconset

  2. 在此文件夹中,将您的图标作为png文件放置。您需要的图标大小分别为16px,32px,64px(仅用于视网膜),128px,256px,512px和1024px(仅用于视网膜)

  3. 这些图标必须使用以下格式命名:icon_16x16.png,icon_32x32.png,icon_128x128.png等

  4. 为了支持视网膜显示,您还必须添加具有双分辨率的图标文件,分别命名为icon_16x16@2x.png(大小为32x32),icon_32x32 @ 2x.png(大小为64x64),依此类推,直到icon_512x512@2x.png(大小为1024x1024)。

  5. 将此[IconName] .iconset文件夹拖动到Xcode(如有必要,复制)

  6. 在info.plist文件中,将“ CFBundleIconFile”(图标文件作为键)值设置为[IconName],但不带.iconset扩展名

注释:

  • (当前)不需要提供@ 2x图标
  • 如果您不提供每个图标文件,通常也可以使用
  • iconset文件夹不应包含icon_64x64.png文件。64px图标仅适用于icon_32x32的视网膜版本

更新: 最后,您的.iconset文件夹具有以下10个项目:

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

官方指南:

https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html

附加信息:

要将iconset文件夹转换为icns文件,请在终端上运行以下命令:

iconutil -c icns [IconName].iconset

其中[IconName]应替换为iconset文件夹的前缀。现在,您有了一个名为[IconName] .icns的文件。在Xcode 4.4的“目标摘要”中,右键单击图标的问号,然后选择icns文件。然后,您应该看到问号被图标替换。


在某些情况下,图标集不会自动添加到“复制捆绑包资源”构建阶段,在这种情况下,您需要将其手动添加到构建阶段。
Reimund

1
注意:Xcode 4.4自动验证并将iconset文件夹转换为icns文件。您需要做的就是将iconset文件夹添加到您的项目中并构建该项目。生成的icns文件会自动添加到内置产品中。
EsbenB

1
@kadam你是对的,一直都是这样。我稍微修改了答案,使视网膜图标命名更清晰。
–codingFriend1

1
^哦,他们没有在本文档中提及64x64或1024x1024尺寸:developer.apple.com/library/mac/#documentation / ... ...因此,该数字减少到10!
克里斯·阿林森

1
@ChrisAllinson您需要64px和1024px大小的图标。但是这些被命名为icon_32x32@2xicon_512x512@2x.png。我将所有图标名称的列表添加到了答案中以澄清这一点。
codingFriend1

32

从Xcode 7开始(不确定最初何时引入),您可以将Assets.xcassets文件用于应用程序图标。默认情况下,新项目包含此文件。

只是:

  1. 转到目标的设置,并确保在“常规”,“应用程序图标”下,将“源”设置为“ AppIcon”
  2. 将所有10个png图标添加到Assets.xcassets的AppIcon图像中。
  3. 如果您之前已启动应用程序,请删除派生数据,否则它将继续显示默认图标。
  4. 运行应用程序;现在,它应该在Dock,应用程序切换器以及其他应显示的位置中显示您的图标。

27

请按照下列步骤将应用程序图标添加到您的项目。这是MacOS将在文档栏和alt-tab显示中显示的图标。

  • 创建一个图标.icns资源文件
  • 将其放在“ resources / macos”文件夹中
  • 将其添加到xcode项目中的资源组
  • 编辑Info.plist文件,并将“ CFBundleIconFile”值字符串更改为“ icon”

另外,img2icns工具可以方便地将图像转换为图标。


…将“ CFBundleIconFile”值字符串更改为.icns文件的名称。FTFY
弗朗西斯·

在Xcode 7中,您不必将.icns文件放在特定的文件夹中,只要它在包中即可。我创建了一个文件夹/ Assets,然后将icon.icns文件拖到Xcode中的文件夹中。然后,我编辑了Info.plist并将图标文件设置为icon.ins。您还必须禁用该功能以在应用的“常规”设置中使用资产。
gbdavid

7

将应用程序图标添加到可可项目的步骤。

  1. 从聚光灯下找到“ Icon Composer”。
  2. 将图标(名称应类似于imagename.icns)拖放到给定的框中。
  3. 选择一个框并保存。
  4. 将保存的图像拖放到应用程序的Resources文件夹中。
  5. 选择目标->右键单击项目名称->选择GetInfo。
  6. 在“属性”中,输入“图标文件”的名称。
  7. 现在,清理构建并运行您的应用程序。

1
6年后,这不再适用
mix3d

7

这很简单

  1. 使用自动工具(例如IconFly)创建具有所有必要尺寸的正确ICNS或图标集。

  2. 然后将创建的ICNS或图标集拖放到Xcode。

  3. 在info.plist文件中,将“ CFBundleIconFile”值设置为[IconName]


3

Xcode 8.2.1

  1. 通过IconMaker转换.png ic.icns

  2. 将AwesomeApp.icns文件添加到与info.plist相同的文件夹中

  3. 将AwesomeApp.icns文件拖到与info.plist相同的文件夹中的xcode中

  4. 在info.plist中将图标:设置为AwesomeApp.icns


4
您还应该运行command + option + shift + K来清理构建。然后再次构建该应用程序,该图标应适用
Luka Kerr

听起来很干净!在某些情况下,重新启动xcode和您的计算机也可以解决这个问题:谢谢小费卢卡!为将来的围观者充分使用。
eonist

@eonist IconMaker链接已死。
jamescampbell

@ jamescampbell嘿,老运动。立即更新
eonist

0

步骤1:从info.plist获取图标文件名,并将icns(图标文件)文件夹放置在SourceCode / resources文件夹中

步骤2:对于xcode来说,同样的事情,您必须使用xcode中的copyallframeworks或copyall资源文件从xcode复制所有图像,然后再次构建应用程序。


@ Asif.Ali给出步骤的答案。
Rachit kapadia
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.