给 OS X 应用一个自定义图标?
Give an OS X app a custom icon?
是的,我的问题就这么简单。如何让我的应用程序使用图标文件或资产目录?!
系统信息:
Xcode6.1.1 (6A2008a)
应用目标 OS X 10.10
OS X 10.10.1 (14B25)
这是我的第一个 OS X 应用程序,但我有多年开发 iOS 应用程序的经验。
重现步骤:
- 打开Xcode,开始一个全新的cocoa应用程序项目
- 不确定这是否重要,但我指定我的新项目不使用故事板或核心数据
- 将一个 .png 文件从我的本地目录拖到项目结构中,并确保 (a) 它最终出现在构建目标中,并且 (b) 文件复制到项目的目录中
- 将 png 拖到 AppIcon 尺寸类别 any/all 下的 Images.xcassets 目录中。
- 构建并运行
预期:停靠栏和选项卡切换器中的应用程序具有新图标。
实际:停靠栏和标签切换器中的应用程序具有默认 "blank page with instruments A on it"
好吧,也许这是一个 DEBUG 问题。
- 存档项目,在finder中显示
预期:Finder 中的应用具有正确的图标
实际:没有。不过应该注意 Xcode 的管理器显示了正确的图标,并且确实存在一个文件 Contents/Resources/AppIcon.icns。 Contents/Info.plist 指定图标文件为"AppIcon".
呜呜呜。让我们试试没有资产目录。
- 在目标的常规设置中,在应用程序图标下,select "don't use asset catalogs"
- 删除Images.xcassets
在 Info.plist 中,在图标文件 (CFBundleIconFile) 的行中,指定图标的名称(在我的例子中是 "AppIcon")。文档 clearly states
The system looks for the icon file in the main resources directory of the bundle.
此处不需要文件扩展名。
- 构建并运行。也存档,以节省以后的时间。
预期:停靠栏和标签切换器中的应用程序图标是正确的。
实际:没有
预期:存档的应用程序具有正确的图标。
实际:没有,但是归档产品在 Contents/Resources.
中确实有正确的 png 文件
我错过了什么?!
我已经尝试使用 .png 应用程序图标和常规 .icns 文件(由 Xcode 通过资产目录生成)。我试过在 Info.plist 中排除和包含文件扩展名。为什么这么难?
编辑: 清理、清理生成文件夹并删除派生数据文件夹没有帮助。
所以我在评论者的帮助下找到了答案:我必须用 确切尺寸 .[=10 的图像填充所有 xcassets/icns 插槽=]
是的,我的问题就这么简单。如何让我的应用程序使用图标文件或资产目录?!
系统信息:
Xcode6.1.1 (6A2008a)
应用目标 OS X 10.10
OS X 10.10.1 (14B25)
这是我的第一个 OS X 应用程序,但我有多年开发 iOS 应用程序的经验。
重现步骤:
- 打开Xcode,开始一个全新的cocoa应用程序项目
- 不确定这是否重要,但我指定我的新项目不使用故事板或核心数据
- 将一个 .png 文件从我的本地目录拖到项目结构中,并确保 (a) 它最终出现在构建目标中,并且 (b) 文件复制到项目的目录中
- 将 png 拖到 AppIcon 尺寸类别 any/all 下的 Images.xcassets 目录中。
- 构建并运行
预期:停靠栏和选项卡切换器中的应用程序具有新图标。
实际:停靠栏和标签切换器中的应用程序具有默认 "blank page with instruments A on it"
好吧,也许这是一个 DEBUG 问题。
- 存档项目,在finder中显示
预期:Finder 中的应用具有正确的图标
实际:没有。不过应该注意 Xcode 的管理器显示了正确的图标,并且确实存在一个文件 Contents/Resources/AppIcon.icns。 Contents/Info.plist 指定图标文件为"AppIcon".
呜呜呜。让我们试试没有资产目录。
- 在目标的常规设置中,在应用程序图标下,select "don't use asset catalogs"
- 删除Images.xcassets
在 Info.plist 中,在图标文件 (CFBundleIconFile) 的行中,指定图标的名称(在我的例子中是 "AppIcon")。文档 clearly states
The system looks for the icon file in the main resources directory of the bundle.
此处不需要文件扩展名。
- 构建并运行。也存档,以节省以后的时间。
预期:停靠栏和标签切换器中的应用程序图标是正确的。
实际:没有
预期:存档的应用程序具有正确的图标。
实际:没有,但是归档产品在 Contents/Resources.
我错过了什么?!
我已经尝试使用 .png 应用程序图标和常规 .icns 文件(由 Xcode 通过资产目录生成)。我试过在 Info.plist 中排除和包含文件扩展名。为什么这么难?
编辑: 清理、清理生成文件夹并删除派生数据文件夹没有帮助。
所以我在评论者的帮助下找到了答案:我必须用 确切尺寸 .[=10 的图像填充所有 xcassets/icns 插槽=]