iOS 11中iPad上缺少iPhone应用程序图标

12

我有一个只能在iPhone上使用的应用程序,但它也可以在iPad上以兼容模式运行(不足为奇)。

但是,在我更新了iOS 11之后,iPad上的应用程序图标消失了。

这是我尝试过的; - 在iPhone模拟器上启动,图标出现 - 在iPad模拟器上启动,图标丢失

将设备选项从“iPhone”更改为“通用”,运行iPad模拟器,图标出现,但应用需要新的iPad用户界面。

将其改回“iPhone”,则iPad中的应用程序图标再次消失,令人困惑。

我尝试创建一个新项目并进行相同的更改,但无法再次使图标消失。

我正在使用CocoaPods,如果有意义的话。

我认为我缺少某些设置或其他东西,我真的在努力寻找它,任何建议将不胜感激。


1
在您的Xcode项目中查找名为Assets.xcassets的文件,然后单击App Icon,确保所有必需的图像字段都有分配图像。 - BigSpicyPotato
是的,我已经检查过了,所有的iPad图标都在那里,没有丢失。 - karpat
如果应用程序仅适用于iPhone,则无需iPad图标。 - Pawriwes
也许这个stackoverflow链接对于这个问题是有用的。https://dev59.com/Fovda4cB1Zd3GeqPWju5#46349476 - 未来陆家嘴顶尖的投资人
4个回答

45

我找到了问题所在。

info.plist中有一项额外或有问题的条目。 - CFBundleIcons〜ipad

删除这一行,iPad图标将正常显示。


干得好,兄弟。这对我很有帮助。 - Pawriwes
从各种"修复"方法中,这是唯一有效的解决方案!谢谢! - zysoft
我在迁移到新的Images.xcassets样式后,也发生了同样的情况。 - Boris Gafurov
删除此条目会导致许多关于缺少iPad图标的ITMS-90023错误。 - Nat
对我有用 :) 如果你正在编辑 Info.plist 文件,不要忘记在 <key>CFBundleIcons~ipad</key> 之后也删除 <dict/> 行。 - gyimi

3
这个问题在过去的六个月中被许多用户报告(包括向苹果恳求修复此错误),但没有人报告以下解决方案。
我正在使用Xcode 9.2,今天我注意到我的iPad/iPhone应用程序在我的iPad上运行良好(iOS v11.2.1),但图标却不见了。
这是一个旧的应用程序,大约2-3年前,原因似乎是我的Appicon文件。当我查看此文件时,我看到了这个:

Before

以前,这个资源足以为iPad和iPhone提供应用程序图标,但显然现在不行了。

我进入我的Images.xcassets文件,右键单击,并选择“应用程序图标和启动图像\新IOS应用程序图标”,现在看看额外的图标可能性:

After

注意iPad上的额外图标。
果然,我创建了更多的.png文件,分辨率与所需的iPad分辨率设置相匹配,现在,当我构建我的应用程序并在iPad上运行它时,它确实显示了正确的图标。
哦,我还需要进入项目的构建设置,选择“常规”选项卡,并将“应用程序图标源”更改为我的新图像集“AppIconNew”的名称。
Et voila。不需要使用Cocoapods,也不需要更改.plist文件(我的文件中没有那个“CFBundleIcons〜ipad”条目),我只需要创建一个新的图像集。
好的,现在是时候回到我的现代、舒适的Visual Studio世界了。(幸福的叹息..)

是的。所有这些可能都是因为您最初将项目仅针对iPhone作为目标设备(因此在最初创建图像集时,它仅向您提供iPhone的图像)。在某个时候,您可能已将其更改为“通用”,从现在开始,每个新的图像集都会向您显示需要添加的所有图像。 - oriharel

1
我曾经遇到一些旧版应用程序,在Info.plist中确实有CFBundleIcons〜ipad,所以我首先检查这个。然而,也有一些情况下只是缺少了资产,就像@Mike Gledhill提到的那样。如果是这种情况,您不必添加新的AppIcon集合。只需在当前AppIcon资产的Attributes Inspector中勾选iPad框,并且iPad尺寸将显示在当前集合中。然后,只需为每个大小要求添加正确的资产即可。

Attribute Inspector


我在提交到App Store时,由于没有iPad图标,应用程序验证一直失败。我在Xcode中到处寻找如何添加它们,但却找不到。你的答案是解决方案!像苹果公司一样极不直观。谢谢你。 - qwertzguy
太棒了!很高兴能帮到你。有时候我们会忽略一些显而易见的事情,当我在 Stack Overflow 上发现这样的小提示时,我非常感激。;) - FromTheStix

0

根据“karpat”的回答,我的Info.plist文件中没有CFBundleIcons〜ipad条目。因此,我转向“Mike Gledhill”的回答,然后观察了来自Image assests的所有图标,发现对于仅在iPad上不可见的特定图标,设备类型设置为iPhone

enter image description here

我刚刚通过右键单击设置为Universal的图像更改了设备类型:

enter image description here

这对我起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接