iPhone X slow transitions (Xcode Bug) and not full screen (solved)

Got it, so storyboard is the only solution for all resolutions.

Using StoryBoard requires Xcode 8.0+ and iOS 8.0+. I think it is not a big issue.

I would not recommend to use a full resolution, why it’s actually needed for you?
Anyway it’s should be upscaled from usual iPad resources(4x like for games), so it will be blurred anyway.

iPad Pro currently doing that upscale automatically and I think with much better quality, because it’s built in, Apple take care about all this. So you need just to provide launch images for usual iPad’s and finally on iPad Pro you good, nothing more todo. But with storyboard you should probably adopt something, because you will get 2048x2732px canvas and I think upscale from cocos will be worse quality than Apple does(if anyone can clarify about this I would happy to listen).
So for me, I never using storyboard and have no problems…

The default configuration (in https://github.com/cocos2d/cocos2d-x/pull/18276) for storyboard is a background image which is aspect fill.
I think it’s just a demonstration with storyboard for launch screen. As my understanding, storyboard is some thing like Layout stuff which is more powerful for layout UI elements since it’s provided for layout native controls in iOS . You could just use a background image for launch screen or several UI controls, for example, UILabel, UIImageView, etc…
So the background image cut off problem is not a big deal and could be avoided. It’s based on how you design the launch screen with storyboard.

What’s more, I only figure out that storyboard is the only way to make full screen on iphone X. If you could find other approaches to make it work, feel free to let us know.

Without full screen, engine can not get correct size of screen, and can not render in full screen for games that need it.

Yes, but how do you make it UILabel size 80px on iPad(2048x1536) and 40px on iPhone(1136x640) ?

No.

It’s not need to, all upscale will be done by iOS and if your game cocos code work well on iPad(2048x1536) you don’t need to do anything.
I guess you as cocos engine developer should test on all iOS devices family? You have it all? iPhone’s: 5,6,7+ and iPad’s: mini 2, 4 and iPad Air 1, iPad Pro 12.9, etc.

Looking at cost for 150K per month for cocos creator:

buying devices for testing purposes is just will not be noticed for budget. So you probably already tested and saw that if no launch image provided for example for iPhone 6+, iOS will upscale it and you don’t need to do anything. That how it worked when 6+ was released and no adaptation were done for it. Same for iPad Pro, but will you provide something like 6x or 8x resources for it in your game?
Or why do you need so large canvas? It’s not needed for games.

@anon98020523 then how did you make game full screen in iPhone X? Will you please provide a test case?

Is it enough? I just created a blank project, sure you need to supply png launch image with appropriate size(1125 x 2436). Or you want I create a blank project and put images and share it?(Just file-> new project-> single view application) It will be same, but I can do it…

With it I’ve got:

Director::getInstance()->getOpenGLView()->getFrameSize()

1125.000000 x 2436.000000

1 Like

Damn, this new simulator is extremely slow. :scream:

Yep, it seems work for iPhone X, but @Rusty said it can not work on iPad Pro, it is a pity that i don’t have the device to test. And this method requires more pictures and should adaption every time a new resolution is added. So i still think engine should use storyboard by default, developers can change it for special requirements.

If you game supports iPad Air(it’s definitely should) so you should not be worry about any other iPad’s.
On any iPad Pro it will be automatically scaled by iOS with best possible quality.

Good point! It probably depends on your goals. If you want to support iPhone X, iPad Pro 10.5 and iPad Pro 12.9 at their native resolutions, a Storyboard seems to be the only way to go.

Again. Only for iPad Pro you need storyboard, but for iPhone X you can just add Launch Image(yes, or use storyboard for all) png. Ok :slight_smile: ?

This all works for me without any storyboards.

Static Launch Screen Images

It’s best to use an Xcode storyboard for your launch screen, but you can provide a set of static images if necessary. Create static images in different sizes for different devices, and be sure to include the status bar region.

Device Portrait Size Landscape Size
12.9" iPad Pro 2048px × 2732px 2732px × 2048px
10.5" iPad Pro 1668px × 2224px 2224px × 1668px
9.7" iPad 1536px × 2048px 2048px × 1536px
7.9" iPad mini 4 1536px × 2048px 2048px × 1536px
iPhone X 1125px × 2436px 2436px × 1125px
iPhone 8 Plus 1242px × 2208px 2208px × 1242px
iPhone 8 750px × 1334px 1334px × 750px
iPhone 7 Plus 1242px × 2208px 2208px × 1242px
iPhone 7 750px × 1334px 1334px × 750px
iPhone 6s Plus 1242px × 2208px 2208px × 1242px
iPhone 6s 750px × 1334px 1334px × 750px
iPhone SE 640px × 1136px 1136px × 640px

iPad Pro(12.9 and 10.5) will not eat that images. Comon… it’s not fun anymore.

what do you mean?

I mean that iPad Pro 12.9 will only give it’s full canvas size with storyboard.

Create and what todo next?

but them where you specify your launch images go. See my pic above. Let me see about making a small demo project laid out correctly. This works.

iPad will ignore that image.

it doesn’t for me. My iPad Pro launch images is different than my others, on purpose, and it shows up. Not the lower sized image. Have you modified your info.plist, by chance?