无法向Resources添加图标

时间:2011-03-13 08:07:28

标签: cocoa xcode

一直在输入和测试一些示例代码,一切似乎都没问题。突然间,我遇到了这个非常令人沮丧的问题,试图在项目中添加一个图标。已将图标文件(扩展名:icns)下载到我的桌​​面并将其拖动到xCode中的“Resources”组。然后从xCode开始对话,我检查了两个选项:“将项目复制到目标组的文件夹(如果需要)”和“递归创建任何添加文件夹的组”。但是当我按下“添加”按钮时,会出现“警报”消息框。它说“无法将图标复制到......”。希望有人在这方面知识渊博会给我一些提示......

1 个答案:

答案 0 :(得分:2)

当项目文件夹中目标位置已存在具有该名称的文件时,通常会尝试添加文件(位于项目文件夹之外),从而导致此失败消息。

例如,假设您的项目文件夹是~/Developer/CoolProject/,Xcode项目位于~/Developer/CoolProject/CoolProject.xcodeproj。如果您使用所述设置的选项将图像coolImage.png从桌面拖动到Xcode,Xcode会将图像文件复制到~/Developer/CoolProject/coolImage.png。如果您再重复此相同的过程,它将第二次失败并显示该错误消息。

我要做的是,在Finder中检查项目文件夹,看看icns文件是否已经复制到项目文件夹中。如果项目文件夹中已存在icns文件的副本,并且该组和文件中未列出该icns文件。 Xcode中的文件列表,您可以通过将现有副本(在项目文件夹中)拖到Xcode项目窗口中来调出问题,以显示“添加文件”对话框。您可以保留与以前相同的选项,这次,Xcode不需要复制图像,因此您将避免错误。

[更新]好的,基于上面的评论,您要做的就是进入Finder并从项目中删除现有的.icns文件(换句话说,将其移至废纸篓)。然后,您可以重新添加具有相同名称的图标(从项目文件夹外的位置),而不会收到错误。此外,在将来,请记住,如果您不再需要项目文件夹中未使用的项目,则可能需要考虑在Xcode中删除文件时使用Also Move to Trash选项。

此外,您可能需要仔细检查以确保相关文件包含在Active Target中。例如,如果您向项目添加文件,但未选中该文件的“包含在活动目标中”复选框(如下图中的ReadMe.rtfd文件),则该文件将不会被复制到您的应用程序包在构建时或在运行时可用。

enter image description here

(要将Active Target复选框列添加到Groups& Files列表,按住Control键并单击表列标题视图,然后从菜单中选择Target Membership)。