iPhone 6s Plus Portrait is using the Landscape Launch Image - ios

I built my Cordova & Ionic iPhone app and launched it on my iPhone 6s+. It used the 6+ (Retina HD 5.5") landscape launch image instead of the 6+ portrait launch image. In the general settings, I have device orientation set to portrait only. Why would it be using the landscape image for portrait?

The splash images we received for the 6s/6s+ were the incorrect sizes. Xcode would then default to the landscape since it was there. Once we put the correct sized portrait splash images everything was okay.

Related

IOS Launch screen storyboard shows up in different orientation

I have an IOS app built with XCODE 11 which is landscape only(right+left).We are trying to move from Legacy launch images to Story board Launch screen.
The issue seems to be that the new launch screen appears as expected in landscape mode but when the device is in portrait orientation, the launch screen also appears in portrait , which looks weird because the image is meant to be in landscape to match the app orientation.
Note: The app launches in landscape after the launch screen irrespective of how the device is held.
Is there a way to lock the launch screen orientation to match the app (Landscape left+right)?
Been stuck on this issue for a while, appreciate any inputs :)
Have you tried set Supported interface orientations landscape in your info.plist only ?

Launch screen storyboard for multiple devices and different orientations in iOS

My application supports all devices from 4 inch onwards in both orientations.
iPhone - 5, 5S, 5C, 6, 6S, 6+, 6S+, SE
iPad 4, iPad Air, iPad Air2, iPad Pro etc
Using asset catalog for launch screen its working fine but in iPad Pro app displays standard keyboard rather iPad Pro optimized keyboard which is bigger and doesn't give best user feel.
As per below link app should be using launch storyboard rather than asset images to get optimized iPad Pro native keyboard.
https://forums.developer.apple.com/thread/26357
Now question is how to support both orientations during launch screen storyboard ?
How to add different launch images for portrait and landscape modes in storyboard ? Using size class for iPad in both orientations its both Regular and Regular size.
Note - Because it launches a screen storyboard, one can't customize the size class with custom class.
In your launchsScreen.storyboard add imageView and set it's four constraints like : top,bottom,leading,trailing.
Now, in your assets add separate images for iPhone and iPad with 1x,2x,3x resolution for iPhone and 1x,2x for iPad.
And set that image to that imageview. It will manage then for every device!
You can set different images for different size class in assets. So for different orientation you can set different images in assets.
refer Apple documentation for more details.
And yes you can use vector graphics as suggested in comment by #pkc456 to keep your app light weight.

Launch Screen Image size for all iOS screen sizes

I am trying to create a lunch screen image for my iOS app. But I am not sure whats the right size for it.
According to apple website for iPhone 6 the size should be 750 x 1334 (#2x) for portrait.
But my question is, how to create a launch screen image that will fit for all screen sizes such as iPhone 5, 5s, 6, 6 plus, iPads etc?
Whats the correct way of doing this?
Go to images.xcassets
there you can see launch image sizes.Just Enable iOS version from right side.
iPhone Portrait iOS 8:- 1242*2208 (5.5 inch)
750*1334 (4.7 HD)
iPhone Landscape iOS 8:-2208*1242 (5.5inch)
iphone Portrait iOS 7,8 :- 640*960 (#2x)
640*1136 (Retina)
iPhone Portrait 5,6 :- 320*480 (#x)
640*960 (#2x)
640*1136 (retina4)
But my question is, how to create a launch screen image that will fit
for all screen sizes such as iPhone 5, 5s, 6, 6 plus, iPads etc?
That will be very hard to do. The devices have different aspect ratios and the difference in size between say iPhone 5 and iPad Air is pretty big to use one image for all. If you want to use the classical launch screen with a screenshot, resizing one image won't look the same as the user interface on different devices. If you want a launch bitmap image you will need to supply all the necessary sizes.
Whats the correct way of doing this?
You can create either launch PNG image or launch screen as a storyboard.
For launch image, your project has an assets catalog. Either use existing or add new iOS launch image. The editor will show you all required sizes.
For a storyboard, your application probably already has LaunchScreen.storyboard. You typically won't create specific size or sizes here, but use auto layout that will resize the screen appropriately.

Orientation issue in iOS 7.1 or iPhone landscape

I am developing an app support iOS 6.0 and up and only in landscape mode for both device.
I have an issue in splash screen/launch screen for landscape mode, I have used 2 approach but didn't work properly.
Approach 1: When I use Images.xcassets to set Launch images. It work fine in iPad device of any OS but don't work in iPhone device as specially in 4" screen phones and 4.7" screen phones.
I have attached image of Images.xcassets as below:
Approach 2
Now because of above problem, I have used lauchscreen.xib for iPhone and iPad. Now problem is, when i use this approach, Splash screen display as a portrait mode rather than landscape in iOS 7.1 only.
Supported Device Orientation:
I was shock when I read this and heard about it..
Till iOS 7, Apple don't support Landscape mode for iPhone and iPod. Apple supports Landscape mode only for iPad.
So what if we develop app and give support from iOS 6 / iOS 7?
Solution:-
In Images.xcassets, select iPhone for portrait mode and add rotated image with 90 degree.
Let's understand with Step by step process :-
Suppose you have image with 480x320 dimension image.
Open that image in preview(Image editor)/photoshop.
Now rotate that image and save it.
Add rotated image at respective place in Images.xcassets.
Clean Project and run.
Please make sure your orientations are set appropriately. Also please refer this link for more details :- iOS 6: How do I restrict some views to portrait and allow others to rotate?

IOS 8 Launch Screen Image iPad

I've seen many similar questions in stack overflow and I've looked at the apple guidlines but the solutions didn't work for me. My problem is that my launch screen image for iPad IOS 8 (I don't have an iPhone 6 or 6+ to test with at the moment) isn't filling the screen or displaying in landscape if the ipad is in landscape mode.
I have portrait images of my launch image one at 750x1334 (background_-my_app_name#2x.png), the other at 1242x2208 (background_-my_app_name#3x.png). What I'm seeing is a square, portrait version of my launch image whether or not it's in portrait mode.
The launch screen uiimage has the aspect ratio constraints applied and the view mode is "Scale to Fill". I can stretch it down with "Aspect Fill" but it still leaves a white border to the right and bottom. Some people have suggested using "-Portrait~ipad" and "-Landscape~ipad" as part of the image name or just using iPhone portrait and landscape images in xcassets but this didn't fix things for me. When doing this I also had landscape versions of both launch image sizes.
What naming convention do I use for launch images for iPad and iPhone 6/6+, both portrait AND landscape? And how should I set it up?
Edit:
Removing "LaunchScreen" from "Launch Screen File", and using a 750x1334 (myimage-Portrait#2x.png), 1242x2208 (myimage-Portrait#3x.png) and 2208x1242 image (myimage-Landscape#3x.png) in xcassets now means the portait version fills the screen, but the landscape one is black.

Resources