Black screen on launch with iOS 8 (Landscape apps)

The iPhone 6 Plus is a “landscape aware” device and doesn’t need both.

By landscape-aware, I mean that it supports the native UI (Homescreen etc) in landscape.

BTW, I could only make tests on my iPad and there you need to provide two entries for right and left to make it behave correctly:

                {  --iPad landscape

                    [“UILaunchImageMinimumOSVersion”] = “7.0”,

                    [“UILaunchImageName”] = “Default-Landscape”,

                    [“UILaunchImageOrientation”] = “LandscapeRight”,

                    [“UILaunchImageSize”] = “{768, 1024}”

                },

                {  --iPad landscape

                    [“UILaunchImageMinimumOSVersion”] = “7.0”,

                    [“UILaunchImageName”] = “Default-Landscape”,

                    [“UILaunchImageOrientation”] = “LandscapeLeft”,

                    [“UILaunchImageSize”] = “{768, 1024}”

                },

If I only use the “Landscape” as UILaunchImageOrientation, it doesn’t take the image and skips this step entirely.

I assume its the same for the 6 plus.

This is the orientation I always use on my landscape apps:

    orientation =

    {

        default = “landscapeRight”,

         supported =

             {

                “landscapeRight”, “landscapeLeft”

             },

    },

Though I don’t know if it has any influence on what launch image the device takes.

Strange my testing doesn’t show this behavior.

What version of Xcode / Corona / iPad are you testing on?

I used:

Xcode 6.0.1

Corona SDK 2014.2451

iPad mini iOS 8.0.2

I run a corona 2439 build on my iPad3, OS 8.0.

I dug out 2 iPad 3’s (both were on iOS 7), I’m upgrading one to iOS 8 now, however the one on iOS 7 is displaying the launch screen just fine with the setup I tested (only “Landscape” in UILaunchImages).

I’ll report back here once the other one has finished updating, however my iPad mini on iOS 8 shows the launch screen correctly so I expect the big iPad to do the same…

@rune7

iOS 8 update done… Launch image is just fine on an iPad 3 running iOS 8 with my settings as above.

  1. Make sure you only have the exact same 8 settings in your UILaunchImages table as I have. I suspect having more (or other values) might confuse the device.

  2. Make sure you delete the old app from your iPad before installing the new app. Sometimes old data might stay behind and mess things up.

Thanks for checking on your end.

I do have a bit different list, but that’s mainly additional entries for left and right orientation.

Anyway, I’ll test your exact list next and see if it works.

Before the iPhone 6 plus, iPhones only have portrait launch images.  If your app was a landscape only app, you would make your portrait launch image so that it looked right (i.e. any text, images were rotated).   You only needed landscape for the iPads. 

But the iPhone 6 Plus has tablet behaviors so it supports landscape launch images.  I agree with Ingemar that needing to specify landscape images seems like something should not have to do.   But since we have to, to get around this, just specify them and use your existing portrait image.  If you want to use separate landscape images do so, though they may need to be portrait with rotated art.

Rob

ingemar, 

Just checked your version on my iPad and it works for all starting orientations I tried. I’ll use this one in the hope that the phone versions are working as well. Thanks for your input.

Sounds great!

Xcode 6 and iOS 8 have sure been head-scratchers in many ways with things not behaving as expected…

If I don’t use launch images, I just want to enable iPhone5 tall screen, how do I do exactly?

(Do iPhone6 and iPhone6 Plus need that to enable tall mode?)
And I didn’t provide new icons when I uploaded for review, will iPhone6 Plus be compatible?

@hydralisk_mk2

For iPhone 5 “tall-mode” you need a launch image called Default-568h@2x.png with the dimensions of 640x1136px.

This will  not  make your app iPhone 6 / 6 Plus compatible. Without providing the new launch screens / app icons your app will not be regarded as “Optimized for iPhone 6 / 6 Plus”

Both phones will use the iPhone 5 launch image and scale up the app content which will make your app look “fuzzy”.

If you want specific iPhone 6 / 6 Plus support, you can read this thread from the top as it contains preliminary suggestions on how to achieve it. CoronaLabs will come out with guidelines later on after they figure out the best approach for Corona SDK, but at the moment the suggestions above should get you started.

Thanks for reply.

I know that I did have Default-568h@2x.png with the build.setting WITHOUT UILaunchImages table. (Corona build 2393a)

If I keep the old setting, does it means iOS8 and new phones will not be compatible.

But my app is still available for other users?

Your app will still run on the iPhone 6 / 6 Plus, but it will run in “zoomed” mode.

 Thanks a lot Ingemar for your “research”.

Just one question. for a landscape only app do i really need the  [“UILaunchImageOrientation”] = “Portrait” entries like:

 {  --iPhone 4
                    [“UILaunchImageMinimumOSVersion”] = “7.0”,
                    [“UILaunchImageName”] = “Default”,
                    [“UILaunchImageOrientation”] = “Portrait”,
                    [“UILaunchImageSize”] = “{320, 480}”
   },

or are the  [“UILaunchImageOrientation”] = “Landscape” entries sufficient?

Thanks,

Thomas

@toga

If you use the list that I wrote a few posts above, then yes you need the portrait entries there. Otherwise the launch screen will not be found.

This whole UILaunchImages thing is rather complex as there are many different ways of getting things to work.

CoronaLabs have recently posted their official way to handle this here:

http://coronalabs.com/blog/2014/10/07/tutorial-working-with-the-new-iphones/

Thanks Ingemar,

i have read the blog post for the new iPhones. But for me it is not 100% clear what i need if i have a landscape only app. For example this sentence confuses me:

“Naturally if the app is portrait only or landscape only, you just need to provide the portrait or landscape versions respectively.”

If i Interpret this correctly i would only need 5 Images:

Default-Landscape-568h@2x.png — 1136×640 (landscape)

Default-Landscape-667h@2x.png — 1336×750 (landscape)

Default-Landscape-736h@2x.png — 2208×1242 (landscape)

Default-Landscape.png — 1024×768 (landscape)

Default-Landscape@2x.png — 2048×1536 (landscape)

But this does not correspond with the UILaunchImages e.g.

{  --iPhone 4 LandscapeLeft
                    [“UILaunchImageMinimumOSVersion”] = “7.0”,
                    [“UILaunchImageName”] = “Default”,
                    [“UILaunchImageOrientation”] = “LandscapeLeft”,
                    [“UILaunchImageSize”] = “{320, 480}”
},

which would need the Default.png. and what is also strange in the post is that for the description of this files:

Default-Landscape-568h@2x.png — 1136×640 (landscape)

Default-Landscape-667h@2x.png — 1336×750 (landscape)

the dimensions are wrong. As you already described only the iPhone 6+ and iPad lauch Image should be in landscape dimensions.

I understand the confusion. I must admit that I haven’t tried all possible combinations with LandscapeLeft and LandscapeRight together with rotated launch screen graphics. I’ve adhered to “old-style?” portrait png’s (for iPhone 4,5,6) and used the UILaunchImages table as I outlined above.

With the new style outlined by CoronaLabs it now seems to be possible to have separate launch screens for landscapeLeft and -Right even on phone devices, meaning that a launch screen will be right-side-up regardless of how the user is holding the device when starting the app. This was previously only possible on the iPad. In the “old-style” way that I use there’s only one launch image which is displayed right-side-up only in the app’s default orientation (for my apps landscapeRight). If the user is holding the device in landscapeLeft the launch image will be up-side-down during launch until Corona takes over and rotates the scene. That’s the way things have been before, so I’m OK with it for the time being.

Again I haven’t tried the “new” way so I’m not sure how things behave with it.

@toga

There were some typos in the blog post, Rob has corrected them now.

Check my posts in this thread – http://forums.coronalabs.com/topic/51651-cant-get-uilaunchimages-to-work-ios-8-iphone-5/

I’ve tested the approach outlined in Rob’s blog post and it works for both portrait-only and landscape-only apps. However, what I haven’t tried is excluding unnecessary launch images and trimming UILaunchImages entries in build.settings to the bare essential for portrait-only or landscape-only apps. If you undertake those tests, do share your results with us. :slight_smile:

Can you be a little more clear on the bug?  Are you saying you are not getting launch images on iOS 8?  Or does the app black screen after showing the launch image?

Rob