我正在物理设备上测试我的应用程序(使用配置文件)。该设备是iOS Air版本8.1的iPad Air。
我的应用程序没有全屏显示,因此根据建议将Default-568h@2x.png
添加到项目中,根据此主题,我设法全屏显示:
Why [UIScreen mainScreen].bounds] is not returning full screen size?
但是,在将其添加到images.xcassets
后,我会看到:
问题1)为什么Xcode会在显然出现Default-568h@2x.png
启动图像时抱怨它?
所以无论如何,这使我的应用程序开始全屏,但启动图像没有出现。相反,在应用程序加载期间只显示一个普通的黑屏。
问题2)为什么启动图像不显示?
我删除了最终添加的所有启动图像,试图让某些东西正常工作(因为这是iOS,试错法似乎比逻辑过程更有效)。所以目前,images.xcassets
中没有发布图像。但是,我的应用程序仍然全屏运行。我从设备中删除了已安装的应用程序(通过使图标摆动并点击“X”),从Xcode中选择Product>Clean
并再次构建。没运气。应用程序在未来运行时仍会全屏显示。然后,我尝试按照EliSKoren的回答:
但是,我发现启动图像的唯一参考是模拟器,而不是物理设备。
问题3)努力尝试不放松 ......发生了什么事!?为什么我的应用程序仍然全屏显示,即使我已删除了启动图像?
答案 0 :(得分:2)
这是因为Xcode为不同的设备提供占位符,并且它们分别是视网膜或非视网膜和设备尺寸。 正如您所看到的那样,您的图像位于占位符上,而未分配",因此xcode无法确定其所用的设备,因此图像未显示。 要在此处更正此屏幕截图 -
请迁移以从此处获取分配给资产的启动图像 单击Launch Image Sources - 使用资产目录,弹出窗口将显示,然后单击migrate。
正如您在属性检查器中看到的那样,您可以选择所需的设备启动图像,它会为您提供。 通过单击占位符来检查所需的图像大小或分辨率,然后只需从finder中拖放这些图像。 希望这有帮助
事实证明OP正在使用cMake进行xcode项目,默认情况下xcode已经安装了启动图像资产JSON,配置错误,因此创建另一个Launch Image并没有覆盖现有的JSON,因为cmake早期的配置是被装载。默认情况下,选择了通用设备,但设备方向完全未选中。 在获得项目的干净版本并让Xcode确定其默认的启动图像资产并填充该JSON中的图像后,检查设备方向,从而解决了OP的问题。评论中的链接中提到了进一步的讨论。