iOS 9 Xcode 7-应用程序出现在顶部和底部,黑色条形


116

在iPhone 6 iOS9上安装了该应用程序,这就是发生的情况。注意顶部和底部的黑条。它在iOS8上运行良好。我该如何解决?

我尝试使用Xcode 6.4和7进行构建。结果相同。

(iPhone 5曾经用来运行类似iPhone 4的应用程序)

在此处输入图片说明


升级到iOS 9之后,我在iPhone 6上
遇到

您是否在应用中使用导航或标签栏控制器?
英格 罗恩

@RonWood实际上都是。
Mojtaba

Answers:


187

您是否从早期版本的Xcode迁移了应用程序?如果是这样,那么Xcode现在就假设您的屏幕大小,并且您需要一种在运行时指示实际屏幕大小的方法。

有两种方法:

a)如果使用启动屏幕。

您缺少LaunchScreen.storyboard文件。创建一个LaunchScreen.storyboard文件,并将其添加到您的项目中。

b)如果您不使用启动屏幕。

转到目标的设置,然后选择常规,然后选择应用程序图标和启动图像。现在将“启动屏幕文件”设置为“ main.storyboard”(或另一个故事板,如果适用)


1
LaunchScreen.storyboard的内容应该是什么?我收到一条错误消息,说OSX故事板不支持目标设备“ iphone”
adamF

4
您不需要LaunchScreen文件。另一个选择是为每个受支持的屏幕尺寸提供所需的启动图像。
rmaddy

我在iOS 9.1中打开应用程序时遇到了同样的问题,但是我的问题是通过添加所有分辨率的启动屏幕图像来解决的,这要感谢@rmaddy
g212gs 2015年

4
就我而言,如果您没有Launch.screen.storyboard才能使它运行,我需要将“启动屏幕文件”更改为MainStoryBoard
Evan Lin

b选项正确地为我工作!这让我发疯,非常感谢!
frisinacho

29

我的应用程序不使用启动图像。将“启动屏幕文件”设置为我的“ main.storyboard”文件对我来说解决了这个问题。

可以在“目标->常规->应用程序图标和启动图像”下找到此设置

使用以下链接了解更多信息:http : //oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/


2
这对我有用,并且似乎比向您的项目中添加随机的新故事板更好的解决方案。
杰里米

1
如果项目是Parse IOS swift starter项目,请转到“目标”->“常规”->“应用程序图标和启动图像”,“启动屏幕文件”下拉值为空。因此,选择“ Main.storyboard”将解决“顶部和底部的黑条”问题。
sfbayman 2015年

如果您需要为启动图像提供自定义视图,或者您的启动图像与情节提要初始视图控制器不同,则此解决方案将不起作用。
Himanshu Mahajan

17

对我来说,问题是我正在从早期版本的Xcode迁移我的应用程序,并且该项目缺少LaunchScreen.storyboard文件。我刚刚创建了LaunchScreen.storyboard并将其添加到启动屏幕文件。这成功了。 在顶部和底部解决方案上使用黑条进行应用


6

我正在使用xcode 7.2。最初,我按照高锰酸钾的 建议创建了LaunchScreen.storyboard文件,它可以正常工作!但是,我不想启动屏幕,所以我尝试将Main.storyboard设置为启动屏幕文件,它成功了!

xcode 7.2


2

当您将应用程序从早期版本的xCode迁移到xCode 6或xCode 7时,将遇到此问题。

对于iOS 7及更早版本,开发人员需要针对其应用支持的所有屏幕尺寸,分辨率和方向提供单独的启动图像。

在Xcode 6或更高版本中,还有另一个选择。您可以指定一个情节提要,其初始视图控制器将用作应用程序的启动屏幕。使用以下步骤:

  • 创建一个空白的故事板文件,名为LaunchScreen.storyboard。

  • 转到目标设置,然后在“常规”选项卡上的“应用程序图标和启动图像”部分中,选择情节提要作为启动屏幕文件。Xcode将在应用程序的Info.plist中添加一个相应的UILaunchStoryboardName键。当存在此密钥时,Xcode将优先于您可能设置的所有启动映像。

  • 将一些子视图添加到新创建的情节提要的视图中,并在约束下放置它们。在设备上启动应用程序时,操作系统应使用场景作为启动屏幕。

从模拟器中删除较旧的应用程序并清理项目。

欢呼声:-)


2

我的应用程序中有同样的问题。在我的应用程序中,我向项目添加了多个目标。如果我使用启动情节提要解决方案,则可以看到全屏屏幕,但就我而言,我的午餐图像在iPhone 4上看起来模糊不清并被拉伸了。为了解决这个问题,我使用了LaunchImage资产解决方案。之后,我仍然面临着同样的问题。我尝试了上述所有解决方案,最后我发现我的png图像不包含ALPHA分辨率。添加新图像后,我可以看到全屏图像。


2

这是如果您根本不使用情节提要的话。

当你删除它发生LaunchScreenLaunch Screen FileApp icons and Launch Images在此处输入图片说明

与其从此处删除它,不如去info.plist并找到Launch screen interface file base name并删除LaunchScreen它,即留空。 在此处输入图片说明

它不会在info.plist中显示,如果您已删除LaunchScreen已从Launch Screen File。然后,您可以输入任何名称,Launch Screen File它将出现,并且您可以删除该名称。


1

转到资产目录并创建一个新的iOS启动映像。然后在目标>常规>应用程序图标和启动图像>启动图像源中,您将自动看到在资产目录中创建的新启动图像。


1

就我而言,我在项目中有几个目标,每个目标都有自己的启动屏幕图像。目标之一看起来很奇怪,但其他目标却有那些黑条。这是资产中的Launch文件夹的名称。将名称更改为LaunchImage可解决该问题。



0

就我而言,我有一项资产带有启动图像,但是它也显示了顶部和底部的黑条。

我已经尝试了启动演示图板解决方案,是的,但是我不想添加新文件,因此,这就是我为解决此问题所做的工作:

  1. 将启动图像复制到另一个文件夹
  2. 删除了现有的LaunchImage资产
  3. 添加了新的LaunchImage资产
  4. 将图像添加到新的LaunchImage

而已!


0

转到该部分中的xcode中的目标设置,转到该部分中的“应用程序图标和启动图像”部分,选择启动屏幕文件,您将找到一个值下拉列表,然后针对启动屏幕文件值选择CDVLaunchScreeen值


0

我在iPod上也遇到过类似的问题。为了解决这个问题,我更换了

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreenIphone</string>

在Info.plist中。


-1

不要做先前答案中描述的任何事情...

要显示视图控制器,请执行以下单个步骤

Step 1 : Add the splash Screen for iPhone and iPad.

此错误之后将不再出现。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.