无法让应用程序图标在Xcode 6中运行

时间:2014-09-11 03:22:44

标签: ios xcode icons asset-catalog

我不能为我的生活让这个工作。这就是我正在做的事情:

  • 为iPhone创建一个全新的项目。
  • 在项目>一般情况下,项目已设置为从默认资产目录中获取应用程序图标。
  • 进入资产目录> AppIcon并根据需要放入图像。
  • 构建并运行。没有图标。
  • 检查项目>构建设置>资产目录应用程序图标集名称。它已正确设置为AppIcon。
  • 检查images.xcassets文件,确保其具有正确的目标成员资格。
  • 检查项目>构建阶段>复制Bundle Resources并验证images.xcassets是否在那里。

仍然没有。我要去INSANE。有人请告诉我,我忘记了某个复选框。请?

6 个答案:

答案 0 :(得分:5)

问题在于图像。我无法弄清楚他们究竟出了什么问题。 使用其他编辑器重新启动它们会导致它们开始在我的项目中工作。

如果它对任何人有帮助,这些都是我的方案的细节:

  • 我使用Inkscape以编程方式创建了图像。
  • 这些文件都是32位PNG。
  • 我通过检查隔行扫描被关闭的二进制文件来确认,正如Apple建议的那样。
  • 使用Fireworks重新保存为32位PNG会产生工作文件。
  • 我比较了好的和坏的文件,只有标题不同。我不确定有毒的块是什么,但我确实注意到好的和坏的文件之间的pHYs维度不同(好的:00 00 0B 12,坏的:00 00 0B 13,这两者都是对应72 dpi)。显然DPI在这里不重要,但我隐约记得一个案例,我在过去没有写过某些DPI的图像有问题。

无论如何,我非常希望这可以节省别人的头发。

答案 1 :(得分:2)

如果其他人再次遇到此问题: 我无法使图标工作,因为资产目录不在根资源文件夹中但在子文件夹中,显然不允许图标(Xcode 7)

答案 2 :(得分:1)

  1. 确保在设置>下一般>应用程序图标和启动图像,应用程序图标源设置为AppIcon
  2. 在Images.xcassets下包含尺寸正确的图像文件(参见下图)
  3. 您的图标必须是.png,&您必须按照此文档进行大小调整:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html
  4. 如果链接应该死掉,它会发生类似这样的事情(设置图标,工具栏和导航栏图标,标签栏图标等的更大尺寸限制):

    适用于iPhone 6 Plus的应用程序图标大小(@ 3x):180x180
    适用于iPhone6和iPhone5的应用程序图标大小(@ 2x):120x120

    适用于iPhone 4s的应用程序图标大小(@ 2x):120x120

    适用于iPad和iPadmini的应用程序图标大小(@ 2x):152x152

答案 3 :(得分:0)

更改了一些代码后,我注意到应用程序图标停止了工作。我查看了差异,在YourProject.xcodeproj / project.pbxproj文件中,Xcode改变了一行

24E9FAB41A9C9E410054E235 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };

24E9FAB41A9C9E410054E235 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Images.xcassets; sourceTree = "<group>"; };

我在文本编辑器中打开文件,将 lastKnownFileType 更改回 folder.assetcatalog ,重新构建应用程序,再次显示应用程序图标。

答案 4 :(得分:0)

有同样的问题,原因是哪个应用程序用于创建应用程序图标。 特别是它们在由Asset Generator生成时未能出现,但在使用Icon Set Creator时都成功(两者都是OS X桌面应用程序)

答案 5 :(得分:0)

我的项目设法获取了未包含在目标成员资格中的images.xcassets文件。我有多个xcassets文件,所以我在组织者中查看了它们以找到正确的文件,并在Target Membership面板中选中了它的框。现在就工作。