Launch image for iOS 7 iPhone - ios

all!
I have a problem. I've created launch images for my app. I added them through assets catalog.
Ipad ios 6 and 7 works, but iphone works only for ios 6. Ios 7 on iphone shows only black screen (for all: 3, 3 retina and 4 inch), and then app starts, but launch image don't shows.

Yes, iOS6 and iOS7 require you to insert separate launch images for each… Actually, technically, the 2x iOS7 and 2x iOS6 iPhone launch images can be identical, and the R4 iOS7 and R4 iOS7 launch images can likewise be identical, but they are associated separately in the images.xcassets folder based on version.
To guarantee you have launch images associated with each version, go to Targets > General then go to "Launch Images":
Then select all of your supported devices in the right-hand menu under the 3rd tab (in this screenshot from my particular app, only portrait interface is available for iPhone, but if your app also supports landscape, landscape should show up here too). To find out the "expected size" of each launch image, select its placeholder then scroll down to look for the "expected size" also in the right-hand menu. And finally drag the appropriate images into the appropriate placeholder slots to make sure your app has launch images suitable for each device/interface.

I have faced same problem few days ago and i posted my Answer in this question-
iPhone application developed in X-code 5, not showing icon and launch image while running on iPad
Hope it help you.

Related

Launch Image/Screen for iOS with Navigation Controller

The final step of my first iphone app (Xcode 6) is to add a launch (splash) screen. I copied a 640x960 (iphone 5 ios8) into my images.xcassets file, into the LauchImage space. I copied into the 2x location (for iPhone Portrait iOS 7,8). I am only running this development app on a single phone so won't need to support all the various screens/sizes.
Apparently, just dragging the image into the .xcassets file/LaunchImage isn't sufficient. I still have only a one sec black screen flash while my app is loading, and no launch screen. Is there another step or two needed here?
thx.
In your app settings General page try setting the Launch Image Source to "Use Asset Catalog".

iPhone 6 Launch Image/Launch File issue

I added to the project the Launch images for enabling support of iPhone 6/6+ (1242×2208 & 750×1334).
For iPhone 6+ everything works correctly, but for iPhone 6 on the real device (iOS 8.4.1), I still see Launch Image for iPhone 5 and screen size {320x568}. In the simulator of iPhone 6 app works as expected (correct launch image and screen size {375x667}).
The same behaviour if I use Launch File instead of Launch Image Assets.
How can I solve this issue?
The question is duplicated and the answer is here:
https://stackoverflow.com/a/26504069/697530
iOS handles correctly the Launch Images for iPhone 6/6+. It is enough to specify Launch Image in the Assets, and do not use Launch File for iOS8, but "Display Zoom" in the Settings of the phone must be set to the "Standard" mode for iPhone6 (Settings -> Display & Brightness -> View).
Hope it will help to someone else.
Please check below screen with Lunch image setting and you have to select one by one lunch image box and check size of image e.g. Image_2.png and set image based on that size.
Image_1.png
http://i.stack.imgur.com/BdkPn.png
Image_2.png
http://i.stack.imgur.com/gJdg6.png
Make sure your image size is same as the size of selected box.
Hope this is work for you.
Thanks :)

Launch Image working on iPhone 4 & 5 but not on iPhone 6 and 6 plus in Objective-C

I've set launch images by going in Asset Catalog for iPhone 4,5, 6 and 6 plus. I know the dimensions for images and I've used them correctly. I've named the launch image for iPhone 6 and 6+, Default-667h#2x.png and Default-736h#3x.png respectively. But still the launch images that I've set for iPhone 6 and 6 plus are not working where as the images for iPhone 4 & 5 are showing up. Please help. Thanks in advance.
Apple removed LaunchImage from iOS 8. Now if you want to show splash screen you need to use LaunchScreen.xib which now is creating with new project or another xib or storyboard that can be selected in "App Icons and Launch Images" section in "General" tab of your project settings.
From developer docs: "On iOS 8, the launch screen file will be used, and on iOS 7, the launch images will be used."
Docs for launch screen here.
I got it working by emptying the text box in front of Launch Screen File.
Though it will work if I add the image on LaunchScreen.xib, but for those of you who don't want that xib they need to left the Launch Screen File nil.

not using fullscreen iOS App Xcode 6.0 iphone5s

I have a simple out of box app that doesn't use the entire screen when I deploy it on a iphone5s. By default it creates a LaunchScreen.xib. I have not edited this file on purpose.
Black Bars top and bottom
Other answers suggest to add a Default-568h#2x.png launch image, but I am not using a launch image, and I am not sure where to add these. I see a place for this in the Images.xcassets by clicking the + icon and selecting New Launch Image.
Do I need to add a New Launch Image to Images.xcassets? If so what is the point of having a LaunchScreen.xib?
Thanks!
To get the app to display full screen:
As suggested here (https://stackoverflow.com/a/15328339/4347877), you must include a Default-568h#2x.png launch image (for iOS 7 or earlier). Or if your deployment target is iOS 8 or higher, you have the option of using LaunchScreen.xib.
Why Use LaunchScreen.xib?
For iOS 7 and earlier, app developers had to provide separate launch images for all screen sizes, resolutions and orientations their app supported. For universal apps, up to seven images were required: retina and non-retina versions for 3.5-inch iPhones in portrait and for iPads in portrait and landscape; and another retina image for 4-inch iPhones (the iPhone requires no landscape version because apps are always launched from the portrait-only Home screen).
Creating these images is a nuisance. Xcode 6 comes to the rescue by allowing you to specify a storyboard whose initial view controller will then be used as the app’s launch screen.
If you want to add a launch image instead of using LaunchScreen.xib:
Click on your Images.xcassets folder, right-click in the left pane, and select "New Launch Image." Once you have the correct launch image sizes for all devices you would like to support, drag each image to its respective slot (e.g. "Retina HD 5.5" or "iPhone Portrait 2x"). Before Xcode 6 introduced LaunchScreen.xib I used to create my launch image size here: http://www.appiconsizes.com.
Okay the solution I found came from this question. The answer from James Nick Sears actually fixes my problem. This is after adding the Launch Images. It should be noted that launch images using the images.xcasset is the prefered way to do this pre iOS 8.0 and the only way to make your app compatible with devices running iOS 7 and earlier.
I suggest using TiCons to create the icons, the mapping took me longer then it should have to figure out. In xcode you can see the expected image size for each device by selecting the empty image box and looking in the attribute inspector window on right.
But the real kicker is clicking the 'use asset catalog' button on the "App Icons and Launch Images" of your apps settings under the General tab. Once you click Migrate you can select your LaunchImages from the selection menu that resides where the button used to be, after "Launch Images Source". Without doing this your app won't work correctly on pre iOS 8 devices.

#3x images incorrectly used on iPhone 6 or 5S or 5 in XIB's with the "Use as Launch Image" option set

With-in a clean brand new iOS project I've:
added 2 images to the project "background#2x.png" and "background#3x.png"
added a XIB named "LaunchScreen.xib"
checked the XIB's "Use as Launch Screen" option
added a UIView sub-view to LaunchScreen.xib and set its image name to "background.png"
with-in the project settings, under the targets 'General' settings I've set the 'Launch Screen file' to "LaunchScreen"
Now when I launch the app on any of the devices list below the #3x image is displayed in the resulting launch screen when surely the #2x image should be used.
Problem devices (that all use the #3x resource):
iPhone 5 (iOS 8.0.0)
iPhone 6 (iOS 8.0.0)
iPhone 6 (iOS 8.0.2)
iPhone 5 Simulator (iOS 8.0.0)
iPhone 6 Simulator (iOS 8.0.0)
NOTE that the #2x image is distinctive from the #3x image so I can easily identify which one is being used.
At first I assumed this was a bug with the simulator and was staggered when it occurred on a real device also.
I assume this is yet another iOS8 bug however I guess there's also the possibility that its expected behaviour as the result of the launch screen being cached as a static image of some kind.
Any ideas or potential solutions?
EDIT:
For the benefit of others, I have subsequently found that if the images are instead added to an Images.xcassets image set then the correct behaviour is in-fact observed. HOWEVER this is not an ideal solution for us since we have a very specific image export process which means we are not using an Images.xcassets in out project (there are thousands of images in the app).
I have now also raised a Radar with Apple #18513968
http://openradar.appspot.com/18513968
I've just tried this myself, and get the same behaviour you have mentioned.
By setting the Launch Images Source to "Use Asset Catalog", and adding the Launch Image you can get each device to show its specific background. Some screenshots can be seen here:
Supporting iPhone 6 and iPhone 6+ with different launch/splash screen image for iPad Portrait and Landscape orientations
Looking into it a bit more, I found a website that mention:
http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/
"You can use the new adaptive UI features in Interface Builder to fit your layout to different screen sizes. If your scene requires screen-size-specific images, use asset catalogs to define different images per size class."
Maybe that is the only way to do it.

Resources