出于某种原因,iPhone 4拒绝显示我的高分辨率图标文件。
我已经查看了这些解决方案,其中没有一个对我有用:
How to setup normal Icon for iPhone3 and Retina for iPhone 4
http://developer.apple.com/library/ios/#qa/qa2010/qa1686.html
http://appworks.radeeccles.com/programming/cfbundleiconfiles-nice-ready-prime-time/
图标位于我的资源组中,并且都正确命名:
我也尝试将它们添加到Info.plist文件中,首先作为数组,然后作为字典,然后简单地删除plist文件中的所有图标引用,但无论我做什么,它仍然显示57x57图标放大了。
具有工作图标设置的人可以发布实现这项工作所需的实际XML咒语吗?
答案 0 :(得分:55)
我的解决方案很简单,但只是巧妙地在Apple Docs中逐行比较。
相互矛盾的非显而易见的解决方案是“删除图标文件键值”。在上一个答案的图像中,您可以看到图标文件仍显示“icon.png”,“图标文件”显示两个:icon.png& icon@2x.png。
我通过删除“Icon.png”的“图标文件”键值让我的应用工作。这是唯一不同的,在Apple Docs中没有“Icon file”键的值。在此处查看图片:已删除链接...
更新了显示这些图片的链接: https://developer.apple.com/library/content/qa/qa1686/_index.html#//apple_ref/doc/uid/DTS40009882
此外,在标记照片时,我会确保您使用的是Apple建议的符号:
- 512x512 iTunesArtwork iTunes Image
- 57x57 Icon.png主屏幕< iPhone 4
- 114x114 Icon@2x.png iPhone 4高分辨率主屏幕
- 72x72 Icon-72.png兼容iPad的主屏幕
- 29x29 Icon-Small.png聚焦和设置
- 50x50 Icon-Small-50.png Spotlight for iPad兼容性
- 58x58 Icon-Small@2x.png适用于iPhone 4的Spotlight和设置 高分辨率
后续步骤......
最后的步骤......
此方法可以清除任何遗留问题,并确保模拟器提取正确的文件。
希望这会有所帮助!
P.S。如果这有助于您解决问题,请务必将我的评论作为解决方案进行检查。
答案 1 :(得分:17)
我也有这个问题......这就是我设法解决的问题
在info.plist文件中,您需要两个条目:
第一个将是“icon file”,这需要是“Icon.png”。
第二个条目是“图标文件”,这是一个数组......
阵列中的FIRST ENTRY是你在std def的图标文件:“Icon.png”
SECOND ENTRY是高清图标文件:“Icon@2x.png”
答案 2 :(得分:4)
我遇到了类似的问题,并在info.plist中尝试了“图标文件”数组条目但没有成功。
我要做的是删除info.plist中的所有“图标文件”和“图标文件”条目以及项目设置中的属性选项卡。然后只使用了所有文件的Apple命名约定
* 512x512 iTunesArtwork iTunes Image
* 57x57 Icon.png Home screen for < iPhone 4
* 114x114 Icon@2x.png Home screen for iPhone 4 High Resolution
* 72x72 Icon-72.png Home screen for iPad compatibility
* 29x29 Icon-Small.png Spotlight and Settings
* 50x50 Icon-Small-50.png Spotlight for iPad compatibility
* 58x58 Icon-Small@2x.png Spotlight and Settings for iPhone 4 High Resolution
由Newbyman发布。
然后我做了一个干净的构建。 iPhone将正确检测资源包中的命名图标并使用相应的图标。我测试iPhone4以及运行3.1.3的第一代iPhone。我使用的是iOS 4.2和最新的xcode。希望这有助于某人。答案 3 :(得分:2)
您只需添加info.plist“图标文件”(不是“图标文件”)并将此值类型更改为数组(右键单击“图标文件”)。之后添加两行(再次右键单击)并在第一行中键入“icon.png”,在第二行中键入“icon@2x.png”。
答案 4 :(得分:2)
似乎ios4在这个主题上使用@ 2x语法。
在你的plist文件“图标文件”
添加文件
* icon57.png
* icon114.png
这适用于我的项目。
答案 5 :(得分:1)
我试过Newbyman的解决方案,但它没有用。当您尝试将新图标添加到较旧的项目并尝试维护3.0遗留问题时,问题似乎就出现了...不知何故,您可以在info.plist中完全正确地添加“图标文件”数组,它仍然会保留原始图像视网膜显示器上的低分辨率图标....
我的解决方案最终是完全删除info.plist并从一个正在运行的新项目中获取一个新的info.plist,然后更改图标名称和基于产品的信息的值,使其与旧信息匹配。 plist基本上是准确的,但是一些遗留信息必须消失。确保在新的info.plist中添加回来时,请选中“添加为目标”....
答案 6 :(得分:0)
好吧,经过多次挫折之后,我能够实现这一目标的唯一方法是创建一个新目标,并从plist文件中删除对图标的所有引用。
答案 7 :(得分:0)
有时需要删除图标,清理构建,添加图标,在设备上运行。 它帮助了我。
答案 8 :(得分:0)
好的,我的问题再次出现了。
实际发生的事情是Icon@2x.png实际上已保存为jpg文件。所以xcode很乐意包含“png”图像,但iOS没有任何内容。
XCode 4实际检查这个并抱怨,这很好。
答案 9 :(得分:0)
我自己一直遇到麻烦。我得出的结论是,数组中图标的顺序是问题所在。我最初的订单是:
Icon.png
Icon-72.png
Icon@2x.png
这不起作用。但是,当我把它改成这一切时,一切正常:
Icon.png
Icon@2x.png
Icon-72.png