【问题标题】:How do I add an icon to my Xcode project?如何向我的 Xcode 项目添加图标?
【发布时间】:2013-01-15 22:21:02
【问题描述】:

我有一个适用于 Mac OSX 的 Xcode 项目,我想在我的项目中添加一个图标文件 (.icns) 并将其设置为 App Icon。我该怎么做?

【问题讨论】:

  • 您的问题令人困惑。默认的 Dock 图标是主应用程序图标。我不知道 BarIcon 是什么。您是否尝试更改应用程序图标,或添加其他类型的图标(例如,用于菜单项、菜单栏附加功能、工具栏控件、侧边栏源或按钮)或其他?
  • 另外,你看过Human Interface GuidelinesHigh Resolution Guidelines吗?如果没有,请查看他们关于图标的部分,如果他们没有回答您,他们至少应该在这里帮助您提出更具体和可回答的问题。
  • 不不!比这简单得多!我只希望我的应用图标只有!

标签: xcode macos icons


【解决方案1】:

这里的关键是您需要一个 ICNS(图标集)文件。

Human Interface Guidelines 中描述了创建它的正确方法,详细信息在 Apple 曲折的小文档迷宫中的各种用户指南和参考指南中进行了介绍,但我将在此进行总结。

有第三方工具可以做到这一点,还有 Photoshop、GIMP、Illustrator 等插件,可以输出正确的 .icns 文件。但请确保,如果你使用这样的东西,它是最新的,因为 Apple 一直在改变规则。

如果您需要手动操作,请执行以下操作:

首先,创建一组不同大小的 PNG 文件。您需要的确切清单会随着时间的推移而变化。如果该链接持续时间比当前列表长,请参阅Provide the Correct Resources and Let OS X Do the Work;否则,请自行在http://developer.apple.com 搜索。但是,截至 2013 年初,它是 512x512、256x256、128x128、32x32、16x16 和 @2x 版本。所有这些都应该嵌入 sRGB 颜色配置文件。它们应命名为icon_512x512@2x.pngicon_512x512.png 等,或MyApp_512x512@2x.pngMyApp_512x512.png 等。将它们全部放在一个名为MyApp.iconset 的目录中。

“但是等等!我只想要一个图标,我不想要所有这些尺寸!”好吧,你真的确实想要所有这些尺寸。当缩小到 32x32 时,您的 512x512 图标看起来会很糟糕。在 Retina Mac 上,当你的图标放大到双倍分辨率时,它只会变得锯齿状,而不是变得更清晰。另外,如果你想进入 App Store,如果你没有,Apple 会拒绝你。但是,如果您坚持,您可以将icon-512x512.png 放入文件夹中,然后按照其余步骤操作,这样就可以了。

从终端,cd 进入父目录,然后输入iconutil -c icns MyApp.iconset。你会得到一个名为MyApp.icns的文件。

现在您可以按照 Douglas 建议的步骤进行操作,并且它确实有效。在 Xcode 中,在 Project Navigator 中选择您的项目,在项目侧边栏中选择您的应用目标,选择 Summary 选项卡,然后将 MyApp.icns 从 Finder 拖到 App Icon 框。

这在 GUI 中可能没有任何可见的效果,除了将 MyApp.icns 添加到项目导航器中。换句话说,您可能仍会看到“?”图标。这似乎是 Xcode 4.5 中的一个错误。如果你遵循 HIG 两个版本之前的过时建议,Xcode 总是显示图标,但如果你遵循当前的 HIG,它不会。去搞清楚。希望苹果有一天能解决这个问题。

但就目前而言,这并不重要。构建项目,然后查看MyApp.app,它会在 Finder、Dock 等中出现您的图标。

现在,我知道您不想用 10 种不同的变体绘制同一张图片,您只想要一些简单的东西。只要您不想进入 App Store,就可以通过两种方式避免作弊:

  • 使用您喜欢的工具将 512x512(1024x1024 像素“512x512@2x”,如果支持高分辨率)图像缩放到所有其他尺寸。
  • 在图标集中创建一个只有 512x512 图像的 .icns。

第二个更简单,作弊更少,最终 Finder 可能会像你一样缩放你的 512x512 图像。

最后,如果您手动编辑了Info.plist 或更改了构建设置(或者您正在使用从更简单的 Xcode 版本导入的项目),那么仅拖动图像可能还不够。如果您需要手动执行相同的步骤,它们是:

  • MyApp.icns 必须在项目导航器中作为项目中的文件。 (您可以从 Finder 中将其拖到此处。)
  • 在构建阶段,复制捆绑资源应包括MyApp.icns。 (您可以从 Project Navigator 中将其拖到此处。)(如果由于某种原因您没有使用正常的构建阶段,则需要通过其他方式在构建时将其复制到 Contents/Resources/MyApp.icns。)
  • 您的 Info.plist 应该有一个名为 MyAppIcon file(原始名称 CFBundleIconFile),没有扩展名。

仅此而已。

【讨论】:

  • Workinnnnnngggggg!!!!成功!!!谢谢谢谢谢谢 好的!!!但是当我用“_”替换“-”时确实有效,但重要的是朋友有效!谢谢
  • icon-512x512.png > icon_512x512.png
  • @JosiasViskoo:它应该可以与任何一个一起工作,甚至什么都不可以;上次我检查时,iconutil 只是在寻找以“512x512”结尾,而不是“_512x512”……但 HIG 确实使用下划线,所以 +1 指出它,我会编辑答案。
  • 很高兴看到一切顺利。祝未来项目好运。
  • @JosiasViskoo,不要忘记通过检查顶部附近的复选标记来接受 abarnert 的回答!
【解决方案2】:
  1. 在项目导航器中,选择一个资产目录。

  2. 选择编辑器 > 添加资产 > 应用程序图标和启动图像 > 新 OS X 图标。

  3. 创建了一个空的 OS X 图标集,其中每个图像表示都有一个图像井。

  4. 将图标文件从 Finder 拖到设置查看器中的相应图像位置。

或者,您可以通过选择资产目录并选择编辑器 > 添加资产 > 导入来添加图像。

【讨论】:

    【解决方案3】:

    我很确定您必须将您的图标放入项目中,然后重新编译。让我们知道进展如何。

    【讨论】:

    • 但是,欧盟选择了一个 512px x 512px 的图标并且徽标图标不显示...:/
    • 您必须确保在您的 plist 中连接图标。
    • 不不!比这简单得多!我只希望我的应用图标只有!
    • 您是否只是想为您的应用添加一个图标,以便它显示在桌面上?
    • 是的!只是它!只需应用一个PNG图标,替换图标默认
    猜你喜欢
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多