Related
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/
For me the problem is i'm migrating my app from earlier version of Xcode and the project is missing LaunchScreen.storyboard file. I have just created LaunchScreen.storyboard and added it to launch Screen File. This did the trick.
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!
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.
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.
Add some subviews to newly created storyboard's view and position them with constraints. When you launch the app on a device, the OS should use the scene as the launch screen.
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 .
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 "Default-568#2x.png", "Default-667h#3x.png". Now you don't have to do that anymore. You need to delete those "Default-568#2x.png" 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"
Go to the asset catalog and create a new iOS launch Image. then in Target>General>App Icons and Launch Images>Launch Image Source you will see automatically the new Launch Image created in the assets catalog.
In my case, I have several targets in the project and each one has it's own launch screen images. The weird thing one of the targets looks fine but others have those black bars. The thing was in the name of Launch folder inside assets. Change name to LaunchImage solves the problem.
Swift 4.2
select LaunchScreen.storyboard if its empty
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:
Copied my launch images to another folder
Removed the existing LaunchImage asset
Added a new LaunchImage asset
Added the images to the new LaunchImage
That's it!
Go to target settings in xcode in that section go to App icons and launch images section in that section select launch screen file you will find a drop down of values select CDVLaunchScreeen value against launch screen file value
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.
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.
My app is written in python kivy. This is what I did. It worked.
The reason is that I don't have AppIcon and LaunchImage defined.
There is free website that can provides you a set of icons and
launchImages for various devices.
Once you have the full set, usually 2 folders - AppIcon and
LaunchImage folder. Open your Xcode project, General > AppIcon and
Launch images.
In the AppIcon Source, click the arrow on the right. It will go to
another page, in which you can drag and drop the two folders in
(yes, drag the folders).
Go back to the previous General tab, in the AppIcon Source, you can
select your folder, usually called AppIcon-1. And tick 'include all
icon asset'
Leave 'Launch Screen File' blank. This is very different from
previous Xcode version.
Under the deployment info, status bar style, you can tick require
full screen.
After those steps you should be good to load again.
Please note these steps are for a non storyboard app. In my case, my app is written in kivy.
Don't Do anything that are described in earlier answers...
To show view Controller follow the following single step
Step 1 : Add the splash Screen for iPhone and iPad.
After this this error will not come again.
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/
For me the problem is i'm migrating my app from earlier version of Xcode and the project is missing LaunchScreen.storyboard file. I have just created LaunchScreen.storyboard and added it to launch Screen File. This did the trick.
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!
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.
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.
Add some subviews to newly created storyboard's view and position them with constraints. When you launch the app on a device, the OS should use the scene as the launch screen.
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 .
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 "Default-568#2x.png", "Default-667h#3x.png". Now you don't have to do that anymore. You need to delete those "Default-568#2x.png" 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"
Go to the asset catalog and create a new iOS launch Image. then in Target>General>App Icons and Launch Images>Launch Image Source you will see automatically the new Launch Image created in the assets catalog.
In my case, I have several targets in the project and each one has it's own launch screen images. The weird thing one of the targets looks fine but others have those black bars. The thing was in the name of Launch folder inside assets. Change name to LaunchImage solves the problem.
Swift 4.2
select LaunchScreen.storyboard if its empty
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:
Copied my launch images to another folder
Removed the existing LaunchImage asset
Added a new LaunchImage asset
Added the images to the new LaunchImage
That's it!
Go to target settings in xcode in that section go to App icons and launch images section in that section select launch screen file you will find a drop down of values select CDVLaunchScreeen value against launch screen file value
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.
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.
My app is written in python kivy. This is what I did. It worked.
The reason is that I don't have AppIcon and LaunchImage defined.
There is free website that can provides you a set of icons and
launchImages for various devices.
Once you have the full set, usually 2 folders - AppIcon and
LaunchImage folder. Open your Xcode project, General > AppIcon and
Launch images.
In the AppIcon Source, click the arrow on the right. It will go to
another page, in which you can drag and drop the two folders in
(yes, drag the folders).
Go back to the previous General tab, in the AppIcon Source, you can
select your folder, usually called AppIcon-1. And tick 'include all
icon asset'
Leave 'Launch Screen File' blank. This is very different from
previous Xcode version.
Under the deployment info, status bar style, you can tick require
full screen.
After those steps you should be good to load again.
Please note these steps are for a non storyboard app. In my case, my app is written in kivy.
Don't Do anything that are described in earlier answers...
To show view Controller follow the following single step
Step 1 : Add the splash Screen for iPhone and iPad.
After this this error will not come again.
My image assets catalogue not working.I don't know what happen here also Launch screen is empty see my screen shots
It strange launch screen is empty so why it showing me as splash screen. help me please
Click on you project, in the Info tab you have the line "Launch screen interface file base name"
You can just remove that line and delete LaunchScreen.storyboard.
Please ensure that you have "LaunchScreen.storyboard" file in project folder. If it's there it will show in dropdown.
When you are showing image on "LaunchScreen.storyboard", you need to drag and drop images in resource folder.
App will not pick image from "Assets.xcassets".
If your ios version is 8 or grater then you have to use launchsreen.storyboard. So, set launch screen file as LaunchScreen and and set your image on that storyboard.
If you want to give support of ios 7 then you should use both Launch image source and Launch screen file.
Remove reference to it from project settings. notice your xcasstes folders , mine created Images.xcassets in addition to the Assets.xcassets.
i ended up deleting the Images.xcasstes to fix build errors
I'm having some trouble getting my launch image to show up in my application.
I have created all the static image files in the Images.xcassets file in an asset set called "LaunchImage".
I noticed that my project also contains a LaunchScreen.xib file (which was automatically created by Xcode).
This .xib file appears when I run the application on my iPhone6 device. It doesn't appear in the simulator for iPhone4s (which makes sense, since xib launch screen is only for iOS 8 +).
I want to use the static images that I have created since they fall under the Apple Guidelines and go with my application. However, I haven't had any luck at getting it to show up.
I noticed under the project settings that there is a section called App Icons and Launch Images. I see how the .xib is connected by the Launch Screen File option I assume.
However, there is an option called Launch Image Sources. What does this do?
I found this: http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/. However, it didn't explain anything about the Launch Image Source option.
There is a button next to the Launch Image Sources called "Use Asset Catalog". When I click it, it just says Migrate Launch Images to an asset catalog. Your existing launch images will be copied into a new image set. Choose an asset catalog to use: .
This is confusing to me because I've already created my asset catalog and I definitely don't want it to overwrite images.xcassets file. So, how do I link this to the Launch Images Asset Set that I already have created? Also what "existing launch images" is it referring to will be copied into a new image set?
Thank you!
UPDATE 1
So, I tried the migrate images option and chose to the new set option. This caused a new image set to be created which I deleted. However, the name left in the Launch Image Source was set to LaunchImage which somehow connected to the image set that contains my launch images. It did mess up my LaunchImage set -- the images were set to unassigned. I deleted them and dragged my files to the appropriate box in the LaunchImage asset set. However, when I run the application it still doesn't work. =( Launch Image doesn't show up.
I even removed the information that was in Launch Screen File (which my assumption was the setting that connects to the .xib file). Still, somehow the .xib file appears on my iPhone6 device. =(
Any ideas what's going on?
I had this problem. I tested on simulator. I left the "Launch screen file" blank and removed the line about the "launch screen file" inside the plist. I restarted Xcode. Nothing. In my case in was not black it was white. Xcode 7 target ios 9.
i read this one as well: Launch Image does not show up in my iOS App
The launch image only showed up when i deleted the app from the simulator and run the app again.
I finally figured it out!
So, in your project settings, go to the section that says: App Icons and Launch Images
Remove the information found in Launch Screen File if you do not want to use .xib file.
Then, in Launch Image Source, Choose to migrate and if you have already created your LaunchImage file and added the images to it. Then click the asset catalog that shows up. The name of the one that contains your Launch Images.
This will create a new Launch-Image2 in your image set. To use the one you already have created, click the drop-down menu next to Launch Image Source. And you should see your other Launch Image set. Choose it. Then re-build your application and run it. You should see your Launch Image. =)
Hope this helps!
Note: it won't delete your images that you already have in the asset catalog. It will just create a new LaunchImage asset set.
Reference: https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/StoringAppIconsandLaunchImagesinanAssetCatalog.html
This is too important !
should be empty ! Launch Screen File
Working solution. Saved my time and hope it will save yours as well.
Make sure your images are accurate size according to Apple Guidelines.
Make sure, You will select only one option , either launch screen file or Launch Image Source. You can find these two options in Project build settings -> General
Clean and build.
Recommended solution step by step:
Create splash image assets (name as LaunchImage) there in
Image.assests folder.
Select LaunchImage asset in Launch Image Source option.
And Clear the text in Launch screen File option.
Clean and build.
Below is the reference image for right configuration:
I had this problem in XCode 9.4.1, turned out to be caused by the assets folder not being included in the Bundle Resources.
Select the project, then your target. Go to 'Build Phases' and open up 'Copy Bundle Resources'. If the .xcassets group you want to use isn't listed then just drag it in from the file browser.
Worked for me...
After few hours of unclear answers:
1) go to setting app General section in xCode.
2) Scroll down to App Icons and Launch Images.
3) Clear Launch Screen File (just leave it blank)
4) Set Launch Images Source to LaunchImage (remember to create them in Assets.xcassets)
Now app will use images You set in LaunchImage.
Had a similar issue today. Tried to let xCode create automatically the Asset, but it was always unassigned.
The solution was to create manually the Launch Image in the ImageAsset and assign the files for his respective resolution.
It looks like xCode created a different type of Launch Image asset, so it didn't
recognized the asset (v8.3.2)
Solved! I've tried a lot. The problem was that the launch image shows in simulator and didn't show in real device. I got a Storyboard with UIImageView in it. Strange was that old images worked, and images, that i did add recently not. First i thought that this is a problem with assets. No. Than i checked color profiles and did a lot of tries with different profiles: left-working image, right-not working. Didn't help.
Then i started google and found this thread
Main solutions from here:
1) Didn't helped for me.
Change image property of my launch image using Preview app: [ Tools
--> Assign Profile... --> ColorSync Profile: <> ]
2) Helped
Even deleting the app and re-installing from XCode doesn't work.
However, changing the bundle ID does work. With no other changes, the
existing bundle ID shows no images, but the new bundle ID shows them
all correctly. I'm doing that as a temporary work-around, since a
previous post in this thread suggests that installing the builds via
TestFlight doesn't encounter the problem.
3)
I did three things (the first two on their own didn't do it, but may have assisted the third which did work)
1) Copied all of the images to the root directory (same location as
xcode puts the images)
2) Created a folder in Images.xcassets and put the images in there.
3) The images in the launchScreen.xib were originally called
imageName.png. This was changed to just imageName (remove the file
extension.
After the third thing the images appeared. I don't know if either of
the first two steps are required, but hopefully it will help someone.
4) Helps but old and rude
Taking the images out of the asset catalog fixed the problem for me.
I just added the #1x, #2x, and #3x image used on my launch screen to
the project the old way and it seems to be working fine. Trying to
confirm it through TestFlight now, but iTunes Connect isn't behaving
at the moment.
I thought this is an iPhone cash problem. So you don't need to warn about it thus the image will show when installing with testFlight. After this conclusion i did next and that worked:
1) Uninstall app
2) Reboot phone
3) Build app to the phone
I just figured this out. My launch image was not showing up, I get a white screen when launching on a device (iPhone 6, 7+) or testFlight. Fix: Renamed "Landing_screen.png" to just "Landing_screen" removing .png part. https://stackoverflow.com/a/43592662/3445278
Close the simulator & open it again worked for me
I have face same issue.
In splash screen image is not displaying but other thing like label and view are showing up correctly .
To fix issue first verify all of the above settings in your code. If nothing works then Restart the iPhone solves my problem.
Hope it is helpful to someone here (Happy to help) :)
I've just spent a little while on the same problem, but found the answer, and put it into a Youtube Tutorial
Create your ArtWork Image. 1024x1024 that conforms to Apple's requirements for Appicons and LaunchImages
Set up a folder to hold your newly created Assets.xcassets
Open Asset Creator Pro and drag your new image into it.
Do your app icons first, putting the created file into your new folder.
Using the SAME image, select LaunchImages next, and "Append" the created set into the new, existing Assets.xcassets
Open your XCode project, and delete the eisting - probably empty - Assets.xcassets folder. If you have other files in it, then just
delete the Appicons and Launchimages sets.
Drag your newly created Assets into the XCode project, making sure you set the option to Copy the files. Sometimes this can be off!
beware.
check what's in the cassets, you should see your new images.
Make sure the line Launch Screen File in your Project settings is BLANK.
Make sure your LaunchScreen storyboard is BLANK. Anything in there and the images wont load.
test it.
Watch the video.
should be empty ! Launch Screen File
it worked for me
Its working fine for set Launch Image:
Go to setting app General section in xCode.
Scroll down to App Icons and Launch Images.
Check Launch Screen File in settings page
Set Launch Images Source to LaunchImage as storyboard file(Set image in Launch screen) (or) You create a own launch image Xib file.
Note:
Now app will use images You set in LaunchImage.
Close the simulator & open it again worked for me
Clean Build Folder
Close your xcode and reopen it
Adjust constrain for the UIImageview
Check Launch Screen File in settings page
I deleted my original launchImage image set.
Then went to "App Icons and Launch Images" in the project section of Xcode.
I de-selected "Launch Image Source" and then reselected it. I get the "Migrate launch images to an asset catalog". I choose an asset catalog and "Migrate" and then a launchImage image set opens up.
I add my files, but then I get a red compile warning.
I checked the Plist - no launchimage in there at all.
Previously, I got yellow warnings about Ambiguous content and the files being the wrong sizes - I check and rechecked - they were the right sizes!
How do I fix?
EDIT: I found this in my files. Do I just trash the selected folder?
Go to the project explorer and select the project. Click "Build Phases". At the bottom there's a section called "Copy Bundle Resources." I suspect you'll find two images.xcassets files there and, if so, remove one by highlighting and clicking the minus icon (there are legitimate reasons to have two, or more, but you'd have purposefully done that so it's outside the scope of this answer). On the remaining one add your images to the LaunchImage.
Your reason for adding two isn't clear so I'll add that if you are using multiple targets you can have different images.xcassets files for each target (xcode adds multiples by default). However, if most assets are the same and you don't want to manage multiples, you can use the same in all targets and write add a script to build phases to copy the different assets, like the launch image, over at compile time. This is also done in build phases: add a phase that runs a script then a copy (cp) line to copy images. Needless to say you should do this with very few assets: I use it for launch images and app icons.
Edited to add: there's a new scheme where launch images are in storyboards and/or xib's. I'm assuming that you're not using it because you said you were using the older launch images but, if you are, then just put your launch image in the storyboard/xib launch image file.
Hi as per your question please visit the below link:
EDIT:
I have tried to regenerate the issue which you are facing. please check your 'images.xcassets' you need to have both 'Launchimage' and 'AppIcon' in 'images.xcassets'. If you don't have either 'LaunchImage' or 'AppIcon' it will generate error.
Based on the image you have added it seems you have deleted image.xcassets from application but not moved to thrash.
You can follow the below image to set launch screen images.
1.) Before entering launch image in images.xcassets
2.) images.xcassets without launch screen image
3.) Add launch screen image in images.xcassets
4.) Set launch image in launch Image screen
This will help you to add new 'image.xcassets' in your application.
http://www.intertech.com/Blog/xcode-assets-xcassets/
5.) Folder structure after adding new image xcasset
6.) Launched the application after deleting and adding new image assets.
This will help you if you have removed just launch image from your 'images.xcassets' not your images.xcassets.
How to use Image.xcassets:
To set launch screen image and other images in your application.
https://www.youtube.com/watch?v=_36Y6rDcKP0&list=PLXCowKcXAVgrCe2Lezv0acRf4adQLshv2
Hope this will be more helpful.