黑屏而不是iPad上的启动图像

我正在开发iOS 6.1和7(使用Xcode 5)的iPhone应用程序。 我有一个iPad启动图像的问题。

在iPad 7.0和7.0.2上,启动图像没有显示出来(在6.1版本中):我在加载应用程序时出现黑屏。

尽pipe我设置了iPad和iPad视网膜(横向和纵向)所需的所有启动图像,并使用资源目录,但我并不面临iPhone 6.1和7.0.2的这个问题。

我错过了什么?

最近,我面临着与我的应用程序只为iPhonedevise相同的问题,我有启动图像不会出现在iPad的问题(在iPad的ios> = 7.0.x启动图像没有显示我得到黑屏,而应用程序正在加载(在iPad的ios <7.0.x工作正常))。

我不面对这个问题的iPhone推出的形象在所有iOS版本中工作正常。

解决scheme :是更新资产目录来pipe理您的应用程序的图像,并只针对iOS 6和Prior。

脚步 :

步骤1:

更新到资产目录

第2步:

选择迁移

步骤3:点击右上angular的“属性检查器”图标。 在这里您可以设置启动映像的目标操作系统。

取消选中iPhone的iOS 7复选框

取消选中适用于iPhone的iOS 7checkbox,现在,您应该能够在iOS> = 7.0.x上查看适用于iPad的启动图像。

如果你有和我一样的情况,那就是解决办法:

我的应用程序只是风景,只有iOs7,ipad \ iphone(XCode 5)。

问题: iphone(和模拟器)黑色启动,在iPad正常启动。

解决scheme :转到Images.xcassets – 启动图像 – select它。 取消所有“iOs7和更高版本”框的权利。 检查“iOs6和之前的”框,并用图像填充空白处。

奇怪,但工作。

每个苹果的文档( 链接 ); 一个空的iPad特定的故事板可能是答案。 我也看到初始视图控制器没有设置在故事板内导致黑屏的问题。 这个问题的一个变种可能是应用程序plist中的一个不正确的设置。

技术问答QA1780为什么我的应用程序在iPad上黑屏?

问:为什么我的应用程序在iPad上启动到黑屏?

答:仅适用于iPhone的应用程序在iPad上运行时可能会启动到空白屏幕。 这是由于应用程序包中存在空的iPad特定故事板以及应用程序的信息属性列表(Info.plist)文件中的特定于iPad的UIMainStoryboardFile键所致。 如果select“通用”选项,则这两者都由各种Xcode模板项目自动创build。

在Xcode中

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

在你的应用程序的信息属性列表中

寻找一个名为主故事板文件基本名称(iPad)或UIMainStoryboardFile〜ipad的键。 如果该键存在,请将其删除。 您还应该删除任何其他带有(iPad)或〜ipad的后缀。

最后,在iPad或iPad模拟器上testing您的应用程序,并validation其行为是否符合预期。

我请求苹果的支持,事实certificate,这是一个错误。 他们要求我报告,我做了。 这里是报告ID:15340531。现在取决于他们。

尝试再次设置图像确保启animation面的分辨率是根据iOS 7的指导方针

使用LaunchScreen.storyboard

我一直有类似的问题,直到我在通用项目设置中find以下设置。

  1. 将您的主界面设置为您的主要故事板文件。 矿被称为Main.storyboard

在这里输入图像说明

  1. 启动屏幕文件设置为启动屏幕故事板文件。 矿被称为LaunchScreen.storyboard 。 (这是我原来所忽略的)

在这里输入图像说明

之后,首先装载启动屏幕,然后不久装载主要故事板。

我知道这听起来很愚蠢。 当我用psd格式保存一个带有jpg扩展名的文件时,我有这样的错误。 只有一个错误的点击保存您的启动图像。

在尝试了几个在这里find的解决scheme之后,我怀疑iPhone正试图以横向方向发射,因此没有find相应的发射图像。 事实上,这个模拟器是从Landscape开始的,因为我不理解。

最后,在阅读Apple文档后,我发现info.plist文件的“支持的接口方向”中的按键顺序可能不够。 肖像是最后一个项目。 当它是第一个项目,应用程序启动肖像模式,并find图像。

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

我遇到了在iOS 7中iPhone(3.5或4英寸)中不会出现启动图像的问题,但iPad与iOS 7没有任何问题。

长话短说,我只是禁用启动图像的资产目录。 所以我以旧式的方式添加了启动图像。 这似乎解决了这个问题。

我将不得不在明天进行更多的testing,但似乎问题已经解决(至less在我的情况下)。

在这里输入图像说明

在Xcode 5中,确保你添加了你的应用程序目标中提到的所有需要​​的图像。

我假设您在使用资产目录时,确保已正确添加Images.xcassets目标成员资格。 我提到这一点,因为如果你有多个目标,看起来像你必须手动添加它们(你没有提供任何截图,所以可以肯定)。

现在您还没有提供项目中Images.xcassets文件夹的“LaunchImage”概述的截图,我只能猜测可能的原因。 考虑到iPhone的启动图像(6.1和7.0.2和iPad(6.1))正常工作的事实,并不适用于iPad(7.0及以上),我想你可以看看是否图片为iPad纵向和iPad横向适合iOS7。具体来说,你应该看到你的启动图像,而不是空的矩形, iOS7 iPad启动图像(纵向和横向) - 尺寸不正确

发生这种情况的原因可能是您仍然拥有不包含状态栏区域的iOS7的iPad启动图像。 在iOS7之前,已经创build了iPad启动图像以排除状态栏区域,但在iOS7上,所有启动图像都必须包含状态栏区域。 请参阅Apple iOS7 UI过渡指南( https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/TransitionGuide.pdf )中的“每个应用程序必须做的事情”部分。

下面的截图应该解释我在说什么 – iPad推出图片尺寸 -  iOS6和iOS7

例如,你可以看到iOS6.1和之前版本的iPad Landscape Retina图片尺寸是2048×1496(状态栏不包括40 px),但iOS7.0及更高版本的图片尺寸预计为2048×1536(包括40px的状态酒吧)。 因此,如果您没有相应地更改图像,则会在iPad 7.0及更高版本上看到黑屏。 在iPhone上,你不会遇到这个问题,因为iPhone启动图像总是覆盖状态栏,无论是iOS6.0还是iOS7.0 – 所以新的UI需求已经满足iPhone启动图像。

我发现这个答案适用于我们的应用程序(仅iPhone,但在iPad上使用): https : //stackoverflow.com/a/19448782/1258419

从这个答案总结:

怎么做。 转到资产目录。 在右上angular点击“属性检查器”图标。 在这里您可以设置启动映像的目标操作系统。 取消选中iPhone的iOS 7checkbox。 现在,您应该能够看到这些设备的启动图像。

我在景观中遇到了类似的问题,我的iOS 7启动图像在iOS 6中没有显示。 我的iPhone Retina 3.5“发布图像。

由于我有另一个肖像应用程序,没有分享这个问题,我做了两件事情:

  1. 在info.plist中,在“支持的界面方向”下,我还添加了2个人像模式,并将它们放在风景之前,如下所示:

     Item 0: Portrait (top home button) Item 1: Portrait (bottom home button) Item 2: Landscape (right home button) Item 3: Landscape (left home button) 
  2. 在View Controller中实现此方法:

     -(NSUInteger)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskLandscape; 

    }

这适用于或不用资产目录。

这是iOS 8的更新。

当我尝试将LaunchImage添加到我的iOS 8应用程序时,我遇到了同样的问题。

Apple允许开发人员使用默认名称为LaunchScreen.xib来呈现iOS 8以上的启动视图。我相信开发人员可以使用LaunchImageLaunchScreen.xib 。 不幸的是,在LaunchScreen.xib被引入之后,我找不到任何描述如何处理LaunchImage文档。 当我尝试使用LaunchImage作为启动视图时,我总是会LaunchImage

我的解决scheme是:

  1. 不要去想LaunchImage 。 使用LaunchScreen.xib 。 (你必须在你的资产目录中保留一个空的LaunchImage ,我相信这是个bug。)

  2. UIImageView拖到xib中,并使UIImageView全屏。 记住要考虑尺寸等级和约束条件。

  3. 设置一个图像的分辨率足够的iPhone 6加到UIImageView

检查您的所有图像,看看它是否正确放置在资产和正确的名称和大小。

还要检查你所允许的方向,并相应地将图像添加到资产中。

我有同样的问题。 我不得不做一个解决方法:使用所有iOS版本的默认图像,并从info.plist删除UILaunchImageFile键。

我不能在iOS 7和以前的版本中使用不同的启动图像,因此,我必须使用相同的“艺术”图像,而不是模仿应用程序的第一个视图(Applebuild议和我喜欢)的图像,但是至less我不再有黑屏了。

它看起来像UILaunchImageFile键,它允许iOS 7使用不同的启动图像,以前的版本在iOS 7的Retina iPad上不能正常工作。

警告:我仍然在testing应用程序,所以我不知道是否会有一些副作用。