Installed the app on iPhone 6 iOS9 and here is what happened. Notice black bars on top and bottom. It works just fine on iOS8. How I can fix it?
I've tried building with Xcode 6.4 & 7. Same result.
(iPhone 5 used to run iPhone 4 apps like this)
Did you migrate your app from an earlier version of Xcode? If so then Xcode is now making an assumption about your screen size and you need a way of indicating the actual screen size at run time.
There are two ways:
a) If you use a launch screen.
You are missing a LaunchScreen.storyboard file. Create a Launch Screen object from the New File... dialog
b) If you don't use a launch screen.
Go to your Target's settings and choose General, then App Icons and Launch Images. Now set "Launch Screen File" to your "main.storyboard" (or another storyboard if appropriate)
My App does not use a launch image. Setting the "Launch Screen File" to my "main.storyboard" file fixed the issue for me.
This setting can be found under "Target->General->App Icons and Launch Images"
Use the following link for more information: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/
I'm using xcode 7.2 . At first, I created a LaunchScreen.storyboard file, as Potassium Permanganate suggested, and it worked! However, I didn't want a launch screen, so I tried setting Main.storyboard as Launch Screen File and it did the trick!
When you migrate your app from earlier version of xCode to xCode 6 or xCode 7, you will face this issue.
For iOS 7 and earlier, developers need to provide separate launch images for all screen sizes, resolutions and orientations their app supported.
In Xcode 6 or later, there is another option. You can specify a storyboard whose initial view controller will then be used as the app’s launch screen. Use below steps:
Create a blank storyboard file named LaunchScreen.storyboard.
Go to your target settings and, on the "General" tab, select the storyboard as your Launch Screen File in "App Icons and Launch Images" section. Xcode will add a corresponding UILaunchStoryboardName key to your app’s Info.plist. When this key is present, Xcode will prioritize it over any launch images you might have set.
Delete the older app from simulator and clean the project.
Cheers :-)
I have same issue in my app . In my app i have multiple targets added to project . If i use launch storyboard solution then i can see full screen but in my case my Lunch image looks blurred and stretched on iPhone 4 . To come out from this issue I have used LaunchImage asset solutions . After this still I am facing same issue .I have tried all above solutions, At end I found my png images don't include ALPHA resolutions . After adding new images ,i can see full screen images .
This one is if you do not use storyboard at all.
It occurs when you remove LaunchScreen from Launch Screen File in App icons and Launch Images.

Instead of removing it from here go to info.plist and find Launch screen interface file base name and remove LaunchScreen, i.e. leave it blank.

It wont show in info.plist if you have removed LaunchScreen already from Launch Screen File. Then you can give any name in Launch Screen File and it will appear and you can remove the name.
In my case I have one asset with launch images however it was displaying the top and bottom dark bar as well.
I've tried the launch storyboard solution and yes it works but I didn't want to add a new file so, this is what I did to fix the issue:
That's it!
I had a similar issue on an iPod. To fix this, I replaced
<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
with
<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreenIphone</string>
in Info.plist.
iOS changed the way the system detects the resolution of the iPhone. You used to have to supply a number of png images named things like "[email protected]", "[email protected]". Now you don't have to do that anymore. You need to delete those "[email protected]" style files and move on to using a proper LAUNCH SCREEN object in your project.
To add a launch screen just go to the New File... dialog (File / New / File, or press Cmd + N)
Double click that new Launch Screen file to edit it. Be sure it is ticked "use as launch screen" in its properties.
Finally be sure to select your LaunchScreen.storyboard file under project properties / Targets / "App Icons and Launch Images"
I had an old app (iOS 7.4 - 8.2) and after upgrading it got the same issue (getting black empty bar at the top), I managed to solve it by:
Main.storyboard Choose your Scene & Controller on left menu, go to Attribute Inspector find "Presentation" and instead of "Automatic" set it to "Full Screen"
It did the trick for me.
[email protected]style launch screen files. Clean, build, should be full screen on every device - bobobobo