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

2024-05-06

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

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

先感谢您。


由于 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. 要支持视网膜显示,您还必须添加带有双精度的图标文件 决议,命名[电子邮件受保护] /cdn-cgi/l/email-protection(尺寸为 32x32),[电子邮件受保护] /cdn-cgi/l/email-protection(尺寸 64x64)等等[电子邮件受保护] /cdn-cgi/l/email-protection(尺寸 1024x1024)。

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

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

注释:

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

Update:最后你的 .iconset 文件夹有以下 10 项:

icon_16x16.png
[email protected] /cdn-cgi/l/email-protection
icon_32x32.png
[email protected] /cdn-cgi/l/email-protection
icon_128x128.png
[email protected] /cdn-cgi/l/email-protection
icon_256x256.png
[email protected] /cdn-cgi/l/email-protection
icon_512x512.png
[email protected] /cdn-cgi/l/email-protection

官方指南:

https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Optimizing/Optimizing.html 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 中,在目标摘要中,右键单击图标的问号,然后选择 icns 文件。然后您应该看到问号被图标替换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Xcode 中设置 Mac 应用程序的图标? 的相关文章

  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin
  • 为什么 Xcode 不给文件名添加前缀?

    当我启动 iOS 单视图应用程序项目时 AppDelegate 文件和 ViewController 文件不再像以前那样以项目名称为前缀 当我打开一个新项目时 文件名如下 AppDelegate hAppDelegate m MainSto
  • 如何清除代码中的 NSLog 输出?

    有没有办法清除代码中的控制台输出 thanks 我喜欢的快捷方式 Simply USE K Keyboard Shortcut when you want to clear the NSLOG Data
  • 更改导航项(栏)的背景颜色

    有没有一种简单的方法可以更改视图顶部导航项的背景颜色 我有一个基于导航的应用程序 我只希望一个视图获得另一种背景颜色 我主要使用 IB 创建视图 我找到了以下解决方案 未测试 float r 10 float g 55 float b 13
  • viewController 中的 Sprite 粒子系统动画

    I create a macOS single window application and add a Sprite Particle System file with template Stars and the visual effe
  • dyld:惰性符号绑定失败

    当我尝试运行时遇到一个奇怪的错误gatsby develop在新创建的 gatsby 项目中 这不应该与 gatsby js 静态站点生成器 有任何关系 因为我在不同的场合也遇到了相同的错误 当我跑步时gatsby develop在我的一个
  • AVCaptureDevice 找不到任何设备

    这行代码是我今天遇到的问题 macOS 应用程序 NSArray devices AVCaptureDevice devicesWithMediaType AVMediaTypeVideo 我更新Xcode后 系统总是让我空着devices
  • 从什么时候起 Xcode 不再需要前向方法声明,为什么?

    我注意到 Xcode 或更准确地说是 Apple LLVM 编译器 不再需要前向方法声明 换句话说 构建以下代码时不会发出警告 implementation Foo void foo self bar void bar end 这曾经发出警
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • Xcode 调试器 - 如何在 CPU 指令级别单步执行

    这绝对是令人着迷的 但我对编译器如何巧妙地将 C 代码转换为机器指令感到着迷 由于我对某些指令有点模糊 因此如果我能够在单个机器指令级别 低于 C 语句级别 可能会生成多个 CPU 指令 观察已编译程序的操作 将会很有帮助 换句话说 我可以
  • 使用 MacPorts 在 Mac OS X 10.5 上安装 PostgreSQL 时出错

    我已经使用 MacPorts 在几台不同的计算机上安装了 PostgreSQL 没有问题 但是当涉及到我自己的笔记本电脑时 我无法构建它 当我执行此命令时 sudo port install postgresql83 我收到此错误 chec
  • 使用 NSError 检查错误的正确结构

    我正在编写各种例程 并尽力保持其整洁和重构 我正在创建的方法开始看起来与此代码类似 IBAction buttonPress id sender Create Document Shopping List with this documen
  • 无法连接到 macOS 上的 Docker 守护进程

    我通常更喜欢使用brew 来管理我的OSX 上的应用程序 我能够安装 docker docker compose 和 docker machine docker version Docker version 17 05 0 ce build
  • Xcode 中的 iOS 9 警告 - 此文件设置为针对早于项目部署的版本进行构建。功能可能有限

    我刚刚将我的 Mac 更新到最新的操作系统 并将 Xcode 更新到最新版本 现在我收到此警告 但我不知道该由谁来删除它 也不知道它的真正含义是什么 有人可以向我解释一下吗 Thanks Select Main storyboard in
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • Xcode 存档上传失败并出现错误

    我正在尝试从 xCode 将新版本上传到 iTunesConnect 但每次我都会遇到此问题 问题是什么 我该如何解决这个问题 最近 我开始在上传过程中遇到问题 Xcode 经常卡住 最终会因您看到的第二个错误而失败 受够了一段时间后 我转
  • 使用 Simulator 时 Xcode 10 中的屏幕截图尺寸错误

    我正在尝试使用 Xcode 10 模拟器为 iTunes 制作屏幕截图 但图像大小错误 我读过Debug gt Optimize Rendering for Window Scale会有帮助 但在 Xcode 中没有这样的选项 有人有这个问
  • 相当于 Interface Builder 中 UIButton 的动态类型“自动调整字体”设置?

    UILabel 有一个Dynamic Type Automatically Adjusts FontInterface Builder 属性检查器中的复选框 Interface Builder 中是否有等效项用于自动调整 UIButton
  • Xcode 无法找到 strip-frameworks.sh 目录

    我最近将 Xcode 更新到版本 7 1 其中包括 Swift 2 1 我安装了 Swift 2 1 没有遇到任何问题 在尝试运行我的项目后 我意识到我需要获取最新版本的 Realm 因为之前的版本不支持 Swift 2 1 我删除了旧框架
  • 如何在 Xcode 4 中在 .h 和 .m 之间切换

    刚刚安装的 Xcode 4 到目前为止一切顺利 除了 Apple 更改了所有键盘快捷键 有人知道如何在 h 和 m 之间切换吗 苹果改变了各种快捷键 但要在标头和实现之间切换 新的快捷键是 You can change it back to

随机推荐