How to activate "Optimized for iPhone 6 / iPhone 6 Plus"

Hi newbieLUA,

thanks, but I don’t use “Default-736h…” etc. screens, because I use the splash screens referenced in the .nib, see the discussion above.

And it works, I just could not understand why the “…@4x” image was not displayed, I didn’t know that Apple uses “…@3x” as a maximum, thanks for the tip.

Best,

Andreas

Success!

As of today the update for “Freeze!” using the .nib file is in the App Store and

* is marked as “This app is optimized for iPhone 5, iPhone 6 and iPhone 6 Plus” :slight_smile:

* has an app preview for iPad, iPhone 5, iPhone 6 and iPhone 6 Plus

* uses the new icon sizes for iOS 8

Ok, it’s released now, but nevertheless I will do some additional tests when I get the iPhone 6 Plus next week.

Thanks to @toga, @newbieLUA, @ingemar, @Lerg, @jonjonsson and @Rob who all worked to solve the problem!

Best,

Andreas

Hi all,

I have been struggling with the Launch Screen all day. I immediately got it working, though, so this is about scaling. I have set the Deployment Target to 8.0, which will leave us with the need to support devices starting from the 4s, 5th gen iPod and 2. gen iPad.

So far so good.

We are using letterbox scaling, and we only support Portrait mode.

In the xcassets there are slots for 6 images, 4 of them for iPhone and 2 of them for iPad.

We initially had problems with the iphone 6 showing a wrongly scaled splash, and to fix that I had to add the iphone6 splash to the iPhone slot named 2x. But that made the 4s start scaling wrong, since the 4x now use the iphone 6 image.

It’s almost as there is missing a slot in the xcassets…

I have no clue how to fix this. The enclosed xcode project is fully contained, and it reproduces the problem easily. Just try running it with the different xcode simulators, and see how the iPhone 4s simulator scales the image incorrect.

Anyone has a solution to this?

Here’s the xcode project: https://s3-eu-west-1.amazonaws.com/lageng/TestinLaunchImage.zip

Thanks!

…I did one more test, this time following the tutorials and the threads in this forum. The difference then is that the xcodeassets has 3 images instead of 6 - universal. Which means the same images will be used for all screens. And I tested, again using the xcode simulators, and now ALL devices use the @2x image, except from the iphone 6+ that picks up the @3x and the iPad 2 that picks up the @1x. The @2x is used for iphone 4s, iphone 5, iphone 6, ipad air, ipad retina, ipad mini 1, 2, 3. Now that is troublesome. Having no difference between the splashes picked up by the iphones or the ipads is bad, and the resolutions the different devices ends up getting in the splash images is not optimal either.

I guess the question is:_

How do I make ONLY the iPhone 6 and 6+ use the Launch Screen, and all other devices use the old splashes like before? Since we’re using ios8 as Deployment Target it actually seems impossible to resolve this.

@haakon, I believe any iOS8 devices will always take priority in reading .nib files over Launch Images and that’s the Apple’s way of how the OS behaves. 

I took a brief look at your .zip file… I’m not sure if this approach would help, but you can try building the launch screen by piecing the elements together in Interface Builder.

a ) Set a tiling / bleeding background for your splash’s background

b ) Set 3 floating images that represents 1. Game Title , 2. Main (centered) Character, 3. Company / Publisher Logo

c ) With the proper constrains, let them float and position dynamically 

The way I’m seeing this (could be wrong) is that the launch image set cannot pull the perfect static image dynamically and displaying/behaving like the old launch images.

But if we take a different approach similar to building web/html layouts, and start layering each display elements relative to the display, then I think you can achieve the perfect result:

a ) Create a tiling background that bleeds out of screen, so wider displays (iPad vs iPhone) can make use of it

b ) Create a floating title image, center aligned, stays at the top of screen

c ) Create a floating character image, center aligned, stays center of screen

d ) Create a floating footer image, center aligned, stays at the bottom of screen

Hope this helps! Or at least hope this can give you an alternative solution in troubleshooting the problems.

If you read Walter’s blog post on Adaptive screens:  http://coronalabs.com/blog/2014/10/28/resolution-independence-adaptive-content-scaling-in-corona/

One of the things that’s important to understand is that when you think in points, to keep design elements like say a 50x50 tabBar button for a 320x480 content area the same on screen size with an iPad (non retina, mini), you would still use a 50x50 image.  It’s a 1x screen, just more real estate.  On an phone with 320 points, you can get 6.5 of those buttons along the bottom.  On the iPad (vertically) you can get 15 buttons along the bottom. 

When you bring an iPhone 4/5/6 retina screen into play, it has twice the density of the 320x480 screens, meaning you need 2x the image quality.   The Retina iPads are 2x the density of the 1024x768 iPads, and they use the @2x assets you provide. 

The 3x is needed because the iPhone 6 Plus has a higher density than even the iPhone 5/6.

But I can see in the simple case of wanting a logo to take up say 50% of the screen, you would seem to need an @4x image, but the idea behind adaptive (which Storyboard sees to be using) is that the image would just be relatively smaller on the iPads and iPhone 6 since it’s more real estate than the iPhone 5.

Yeah. I tested with an adaptive approach, but since we also have a continuation of the splash image like Andreas above here, where we continue showing the same image after the splash but with a loader on, it just got too complicated for a stupid little thing that a splash really is.

I ended up using a simpler approach. The most important thing is to get the App Store “optimized for” badges, after all. So now we have our app set up with Deployment Target ios 8, and it will only use the Launch Screen.

Thanks for helping out.

My app passed review and got the iPhone 6 stamp. I simply dropped in the nib from Andreas with my own images. Thanks Andreas! BTW the app review process was only a day or so  :blink: 

hello rob, i have follow your tutorial and i try to add images into it, but whenever i try to use the nib files,

i never see the image, only the text,

any clue?

This isn’t an easy topic to follow, so bear with me.

When you add the UIImageView (well it’s already in the project), you need to give it an “ImageSet” to use.  You right click in a bar and then choose “New Image Set”.   By default it names that image set “Image”.  There is a side effect of that.  What ever you name the image set must be the name of the files in the image set.  If you do not rename it and leave it “Image”, then your files must also be named “Image.png”, “Image@2x.png”, “Image@3x.png”.  If you want to have images named Xyzzy.png, you must rename the image set to Xyzzy. 

After that, back in the inspector for the UIImageView, pick the image set you want for that view.

Rob

Is it difficult to jailbreak iPhone 6 or iPhone 6 Plus?

Corona Labs does not support any of our products on jail broken or rooted devices.  As such we will not provide any support or suggestions on how to do this.

Rob

Dear Rob, tq for your reply

i have follow your steps,

i give my UIImageView name with “Default” (casesensitive and without uppercase)

and i rename the image that iwant to use with

Default.png

Default@2x.png

Default@3x.png

and i put the LaunchScreen.nib and also the image in same directory with main.lua

after that i try to build it with iphone5 IOS 8.1

and i still got white blank launch screen

any other way? or maybe i miss some steps?

yeah, me also rob, got white blank launchscreen even i try to do your step,

its okay rob i just download the zip from avlepel

and its showing image now

thanks avlepel

I noticed that in order to submit my v1.1 update to my app, Apple was now requiring screen shots for both iPhone 6 and 6 plus devices.  I used screen shots that I had taken for the iPhone 5 running on IOS simulator and then used Pixelmator  to resize the screen shots to proper sizes for iPhone 6 and iPhone 6 plus.  This worked and when my v1.1 version got approved I also noticed that I now had the optimized for iPhone 6 and iPhone 6 plus labels as well.

Good catch! I can confirm too with a recent update of one of my games, it switched to optimized for iPhone 6/6 Plus without any additional changes. Meaning Apple has fixed the issue and launch images work fine again for making the app optimized, as they should.

What size should the 3 images be that we drop into xCode ?

I got it all working fine but can’t get the loading screen images to look right, they have white space at the top of the screen.

Dave

If you want your image to be full screen, you may need to adjust the imageview in the storyboard to do so.  This really isn’t designed to be a means of showing static images.  Its really about either building a launch screen that mimics the first screen the use sees or drop a simple logo into the middle of the screen and let Apple’s storyboard make it fit the different screens.

So your image should be whatever you need to make it look right at 320px, 640px, 960px wide.