iPad上启动图像变成黑屏

37

我正在开发一款iPhone应用,适用于iOS 6.1和7(使用Xcode 5)。 我在iPad启动图像方面遇到了问题。

在iPad 7.0和7.0.2上,启动图像没有显示出来(在6.1中可以正常工作):当应用程序加载时,我得到黑屏。

尽管我设置了所有iPad和iPad Retina(横向和纵向)所需的启动图像,并且使用Asset Catalog,但我在iPhone 6.1和7.0.2上没有遇到此问题。

我漏掉了什么?


1
你在运行项目之前清理了吗?同时按下alt+shift+cmd+k来清理你的构建目录。 - rckoenes
完成了,但还是不起作用!:( - nicky_1525
你检查过项目中启动屏幕所使用的图片是否正确吗? - Marco Pace
删除项目中的所有启动图像,然后尝试重新添加它们。此外,您的项目中是否有Images.xcassets“文件夹”?就像这个问题中所述:https://dev59.com/8mMl5IYBdhLWcg3wBy_y - Yanchi
你说我正在使用Xcode 5为iOS 6.1和7开发iPhone应用程序。我在iPad启动图像方面遇到了问题。你是否已经添加了正确的图像?你是否已经正确地命名了它们?这里有一个尺寸链接https://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/LaunchImages.html,这里有一个名称和尺寸链接https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW12 - Popeye
显示剩余2条评论
20个回答

33

最近我在为仅设计用于iPhone的应用程序中遇到了同样的问题,我的问题是在iPad上启动图像不显示(在iPad ios >= 7.0.x上,在加载应用程序时会出现黑屏幕问题,而在iPad ios < 7.0.x上则正常工作)。

我并没有在iPhone中遇到这个启动图像的问题,在所有iOS版本中都可以很好地工作。

解决方法: 升级到资源目录以管理应用程序的图像,并仅针对iOS 6及更早版本的设备进行目标设置。

步骤:

第一步:

升级到资源目录

第二步:

选择迁移

第三步:单击右上角的“Attribute Inspector”图标。在这里,您可以为启动图像设置目标操作系统。

取消iPhone的iOS 7复选框

取消iPhone的iOS 7复选框,现在您应该能够在iOS >= 7.0.x的iPad上看到启动图像了。


1
现在这是一个不错的解决方法,但我已经向苹果提交了另一个错误报告。 - Jatin
4
工作正常,但我现在收到一个警告:需要iOS 7.0及更高版本的iPhone Retina(4英寸)启动图像。我想现在这样还可以。希望苹果公司能够解决这个问题。 - Craig B
1
谢谢!在Xcode中似乎有一些小问题。我担心“迁移”会破坏我的现有资源目录,但它只是添加了一个新条目,其中包含默认的黑色屏幕,我刚刚删除了它,一切都很好。奇怪的是,你需要做这个无意义的迁移步骤,但对我来说没有负面影响。 - devios1

24

如果你遇到了和我一样的问题,这是解决方法:

我的应用程序仅支持横屏,在iOs7上运行,适用于ipad\iphone(XCode 5)。

问题:在iphone(和模拟器)上启动时黑屏,ipad上正常启动。

解决方法:进入Images.xcassets - Launch Images - 选择它。取消右侧所有"iOs7及更高版本"的勾选框。勾选"iOs6及之前"的框,并用图像填充空白区域。

奇怪,但可以解决问题。


3
这完全没有意义,但却绝对有效。谢谢! - Solsma Dev
对我来说不太适用,但它确实显示了一些启动图像,所以你正在正确的轨道上。 - Ben Wheeler
1
这个很好用,但现在我收到一个警告:“需要一个iOS 7.0及更高版本的iPhone Retina(4英寸)启动图像。” - AW101
+1 这让我头疼了几个小时。谢谢。 - ingh.am

12
根据苹果文档(link),一个空的iPad专用storyboard可能是解决方案。我也见过一些问题,其中初始视图控制器在storyboard中没有设置会导致黑屏。这个问题的变种可能是应用程序plist设置不正确。
技术问答QA1780 为什么我的应用程序在iPad上启动时会出现黑屏?
问:为什么我的应用程序在iPad上启动时会出现黑屏?

A: 仅为iPhone设计的应用程序在iPad上运行时可能会启动一个空白屏幕。这是由于应用程序包中存在一个空的iPad特定storyboard以及应用程序信息属性列表(Info.plist)文件中的iPad特定UIMainStoryboardFile键。如果选择了Universal选项,则各种Xcode模板项目都会自动创建这两个文件。

...

在Xcode中

在文件导航器中查找名为MainStoryboard_iPad.storyboard的文件。如果存在该文件,请将其从项目中移除。

在您的应用程序的“信息属性列表”中

查找名为Main storyboard file base name(iPad)或UIMainStoryboardFile〜ipad的键。如果存在此键,请将其删除。您还应删除任何其他后缀为(iPad)或〜ipad的键。

最后,在iPad上或iPad模拟器上测试您的应用程序,并验证它是否按预期运行。


9

我向苹果技术支持请求帮助,结果发现这是一个错误。他们要求我进行报告,我也做了。以下是报告编号:15340531。 现在就让他们来处理吧。


6

使用LaunchScreen.storyboard

我曾遇到类似的问题,直到我在项目通用设置中找到以下设置。

  1. 主界面设置为主故事板文件。我的名字叫做Main.storyboard

enter image description here

  1. 启动屏幕文件设置为启动屏幕故事板文件。我的名字叫做LaunchScreen.storyboard。(这是我最初忽略的一点。)

enter image description here

之后,启动屏幕首先加载,然后主故事板稍后加载。


4

请尝试重新设置图像,确保启动画面的分辨率符合 iOS 7 指南。


3

在尝试了几个在这里找到的解决方案后,我怀疑iPhone正在尝试以横向模式启动,因此找不到相应的启动图像。实际上,模拟器出于我不理解的原因开始在横向模式下启动。

最终,在阅读苹果文档后,我发现“info.plist”文件中“支持的界面方向”的键的顺序可能不够适当。纵向是最后一项。当它是第一项时,应用程序以纵向模式启动并找到图像。


3
我知道这听起来很蠢。我遇到过这样的错误,当我将psd格式的文件保存为jpg格式时,只需要在保存启动图像时点击错一次就会出现这种情况。

这是一个值得留意的好问题...我以前也遇到过。然而,这次对我并没有解决问题... - Liam

2

我曾经遇到一个问题,即在iOS 7中,iPhone(3.5或4英寸)中的启动图像不会出现,但iPad在iOS 7上没有问题。

长话短说,我仅针对启动图像禁用了资源目录。所以我正在以传统的方式添加启动图像。这似乎解决了问题。

明天我还需要进行更多测试,但至少在我的情况下,问题已经解决了。


2

从设备或模拟器中删除先前安装的应用程序,然后在清理后重新启动应用程序。


从设备或模拟器中删除先前安装的应用程序,退出Xcode和模拟器。重新启动并启动该应用程序。 - Sanjeev sharma

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