【问题标题】:How can I set the icon for a Mac Application in Xcode?如何在 Xcode 中设置 Mac 应用程序的图标?
【发布时间】:2011-09-14 07:58:42
【问题描述】:

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

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

提前谢谢你。

【问题讨论】:

    标签: xcode cocoa macos icons


    【解决方案1】:

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

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

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

    2. 在此文件夹中将您的图标放置为 png 文件。您需要在 16px、32px、64px(仅限视网膜)、128px、256px、512px 和 1024 像素(仅限视网膜)

    3. 这些图标必须以 icon_16x16.png 模式命名, icon_32x32.png、icon_128x128.png等

    4. 要支持 Retina 显示器,您还必须添加带有双 分辨率,命名为 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] 应替换为图标集文件夹的前缀。您现在有一个名为 [IconName].icns 的文件。在 Xcode 4.4 中,在 Target Summary 中,右键单击图标的问号,然后选择 icns 文件。然后您应该会看到问号被图标替换。

    【讨论】:

    • 在某些情况下,图标集不会自动添加到“复制捆绑资源”构建阶段,在这种情况下,您需要手动将其添加到构建阶段。
    • 注意:Xcode 4.4 自动验证图标集文件夹并将其转换为 icns 文件。您需要做的就是将 iconset 文件夹添加到您的项目并构建项目。生成的 icns 文件会自动添加到构建的产品中。
    • @kadam 你说得对,情况一直如此。我稍微修改了答案,使视网膜图标命名更清晰。
    • ^ 哦,他们没有在本文档中提到 64x64 或 1024x1024 尺寸:developer.apple.com/library/mac/#documentation/… ...因此这将数字减少到 10!
    • @ChrisAllinson 您需要 64px 和 1024px 大小的图标。但它们被命名为icon_32x32@2xicon_512x512@2x.png。我在答案中添加了所有图标名称的列表以澄清这一点。
    【解决方案2】:

    从 Xcode 7 开始(不确定最初是什么时候引入的),您可以使用 Assets.xcassets 文件作为应用图标。新项目默认包含此文件。

    简单地说:

    1. 转到目标设置并确保在GeneralApp Icons下的Source设置为AppIcon .
    2. 将所有 10 个 png 图标添加到 Assets.xcassets 的 AppIcon 图像中。
    3. Delete derived data如果您之前启动过该应用,否则它将继续显示默认图标。
    4. 运行应用程序;它现在应该在 Dock、应用程序切换器以及它应该出现的任何其他地方显示您的图标。

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • …将“CFBundleIconFile”值字符串更改为 .icns 文件的名称。 FTY
      • 在 Xcode 7 中,您不必将 .icns 文件放在特定文件夹中,只要它位于包内即可。我创建了一个文件夹 /Assets 并简单地将 icon.icns 文件拖到 Xcode 中的文件夹中。然后我编辑了 Info.plist 并将 Icon 文件设置为 icon.ins。您还必须禁用该功能才能在应用的“常规”设置中使用资产。
      【解决方案4】:

      很简单

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

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

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

        • 6年后,这不再适用
        【解决方案6】:

        Xcode 8.2.1

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

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

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

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

        【讨论】:

        • 您还应该运行 command+option+shift+K 来清理构建。然后再次构建应用程序,图标应该会应用
        • 听起来像是深度清洁!在某些情况下,重新启动 xcode 和您的计算机也可以解决问题:P 就我个人而言,在此之前我不必清理构建。谢谢卢卡的小费!为未来的旁观者使用 full。
        • @eonist IconMaker 链接已失效。
        • @jamescampbell 嘿,老运动。现已更新
        【解决方案7】:

        第一步:从 info.plist 中获取图标文件名,并将 icns(icon file) 文件夹放入 SourceCode/resources 文件夹中

        第 2 步:xcode 也是如此,您必须使用 xcode 中的 copyallframeworks 或 copyall 资源文件从 xcode 复制所有图像,然后再次构建应用程序。

        【讨论】:

        • @Asif.Ali 给出步骤的答案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-11
        • 2012-07-19
        • 1970-01-01
        • 2010-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多