Screenshots and new iPhone size compatibility

Reporting my results just for completeness sake.

The final app I had in review that only used the UILaunchImages array was approved today and to no surprise it wasn’t tagged as optimized for iPhone 6 / 6 Plus although it had all the necessary files declared for both devices.

This confirms that a Launch Screen File is the only known way to get the coveted tag.

Awesome work, ingemar. Thanks for taking the onus on this one.

Yes, thanks @ingemar. Nice catch.

Thanks @ingemar for all the hard work!

Thanks @ingemar for the confirmation !! 

Ive been keeping an eye on these forum updates and while it seems still a messy situation, I am about to port a couple of apps to IOS tomorrow. The following questions are based on Pro membership and not using Enterprise:

What is the current situation?

Is it possible to create an app that will still support IOS6 and IOS 8?

If I build for IOS with latest Corona daily build will it support IOS 8/IOS7, iPhone6/Plus ad well as iPhone 5 or will it still be in zoom mode on latest devices (no change yet)

If we can build do we now just submit a new launch image with the old default 586 one?

What else do we need to add to builds IE size of icons?

A complete new guideline would be handy. I did a search but cant find one.

Thanks

_ Is it possible to create an app that will still support IOS6 and IOS 8? _

Yes, if you use the latest daily build has both the iOS 8 release SDK and the iOS 8.1 GM SDK.  This will support devices running iOS 6 and iOS 7.

If I build for IOS with latest Corona daily build will it support IOS 8/IOS7, iPhone6/Plus ad well as iPhone 5 or will it still be in zoom mode on latest devices (no change yet)

Yes, it will support the new phones.  You need to include some static launch images and some code in your build.settings to make it work.  See the Build guide’s Launch images section:  http://docs.coronalabs.com/guide/distribution/buildSettings/index.html#launchimage

You can also see our previous two blog posts:

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

http://coronalabs.com/blog/2014/10/21/tutorial-building-multi-screen-launch-images-using-xcode-6/

The  later version has a better way to deal with your launch images.

_ If we can build do we now just submit a new launch image with the old default 586 one? _

If you plan to support iOS 6 and iOS 7, then you still need to include the old launch images in your project.

_ What else do we need to add to builds IE size of icons? _

There are new icons needed for the iPhone 6 plus.  It’s all outlines in the build.settings guide:  http://docs.coronalabs.com/guide/distribution/buildSettings/index.html#appicons

as well as the blog post referenced above.

Rob

Cheers Rob for that info

What about the latest public build?

The current build is using iOS 7 SDK.  iOS 7 apps will run on iOS 8 and iOS 6.  You should be able to use the static launch images as detailed in our build guide to get the screens to size correctly, but you probably can’t use the technique in this weeks tutorial.

There are a few things Apple will complain about (location and a few others) that iOS 7 builds shouldn’t have but there have been reports that they are. 

For the safest path for a Pro/Enterprise subscriber right now and Apple is to use the latest daily build.

Rob

I’ve just updated and submitted several of my apps (non-corona) to support the new iPhone 6 and 6+ devices and i can confirm yes to all the above. The new XCode 6 requires two additional screen shot images for the new  iPhone 6 and 6+ devices (these are used to determine compatibility similar to Default-568h@2x.png on the iPhone 5 and are 750x1334 iP6 and 1242x2208 for iP6+ in size) also new icons are required (87x87, 120x120 and 180x180). If you don’t add the iPhone 6 and 6+ images the apps/games still work but are digitally zoomed (software blow-up) including the status bar which i find less appealing to optimizing and making the most of the new devices.

Note. the way the load images and icons are done now in XCode 6 is through asset catalogues (.xcassets file with a Contents.json xml table defining the link) so the prior precise file naming e.g. Default-568h@2x.png is no longer important as far as i can tell. 

Which opens up another question, does anyone know whats the new equivalent for supporting the iPhone 6/6+ Retina HD displays in Corona, given the possible move away from the precise naming in XCode 5 “Default-568h@2x.png”, will we be able to define asset catalogs (see below) as done by XCode 6 or is there an alternative approach e.g. “Default-667h.png” ?

  • iPhone 6 portrait launch image: 750 x 1334

  • iPhone 6 Plus portrait launch image: 1242 x 2208

thanks

//xcassets \> LaunchImage.launchimage \> Contents.json   "images" : [     {       "extent" : "full-screen",       "idiom" : "iphone",       "subtype" : "retina4",       "filename" : "Default-568h@2x.png",       "minimum-system-version" : "7.0",       "orientation" : "portrait",       "scale" : "2x"     },{       "extent" : "full-screen",       "idiom" : "iphone",       "subtype" : "667h",       "filename" : "iPhone\_6\_750x1334.png",       "minimum-system-version" : "8.0",       "orientation" : "portrait",       "scale" : "2x"     },{       "extent" : "full-screen",       "idiom" : "iphone",       "subtype" : "736h",       "filename" : "iPhone\_6Plus\_1242x2208.png",       "minimum-system-version" : "8.0",       "orientation" : "portrait",       "scale" : "3x"     },{       "extent" : "full-screen",       "idiom" : "iphone",       "subtype" : "736h",       "filename" : "iPhone\_6Plus\_2208x1242.png",       "minimum-system-version" : "8.0",       "orientation" : "landscape",       "scale" : "3x"     },.. }

I just looked inside the application *.IPA generated by XCode 6 for iPhone 6/6+ deployment, the new image files that are used to denote iPhone 6/6+ are below:

- LaunchImage-568h@2x.png     (iPhone5 ~ 640x1136)

- LaunchImage-800-667h@2x.png      (iPhone6 ~ 750x1334)

  • LaunchImage-800-Landscape-736h@3x.png      (iPhone6+ ~ 2208x1242)

- LaunchImage-800-Portrait-736h@3x.png      (iPhone6+ ~ 1242x2208)

The way I read the guides from Apple is that iOS 6 Launch images come from the asset catalog, which is something the Engineers will have to figure out how to make work for SDK users.  Obviously Enterprise customers can build their own.   There are not apparently “trigger” File names like for the iPhone 5, but just the presence of the files in the asset catalog.

I know you are anxious to be iOS 8 compatible, but please give Engineering some realistic time to make things work.  We get our iPhones just like you do. 

As for the Icons, I think from what I’ve read that you should be able to add:

Icon@3x.png   (180x180)     (3x the 60x60 base iOS 7 Icon)

Icon-small@3x.png (87x87) (3x the 29x29 spotlight/settings icon)

You should already have a 120x120 named Icon@2x.png as this was the iOS 7 icon for the iPhone 4/5 retina displays.  The iPhone 6 will still use this Icon.  The Icon@3x.png is for the iPhone 6 plus.

Rob

Yes as noted above, but as stated in my update this seems to be just for XCode 6 management, i can confirm that once the App is actually archived for distribution into an actual *.ipa file the below image names are used regardless to what was setup in the asset catalog in XCode 6.

- LaunchImage-800-667h@2x.png      (750x1334 ~ for iPhone 6 Portrait)

- LaunchImage-800-Portrait-736h@3x.png      (1242x2208 ~ for iPhone 6 Plus Portrait)

  • LaunchImage-800-Landscape-736h@3x.png     (2208x1242 ~ for iPhone 6 Plus Landscape)

 

…in my case not so eager, simply responding to the original poster by providing info based on my experience updating several apps that have now been approved by Apple for the new iP6/6+ devices and to assist the original poster and others that might find the info of interest.

and Agree, I’m sure more details will emerge as the new iPhone’s 6/6+ device hit the market and others chip in on their experiences. Also for those that have regular apps in addition to corona sdk apps, I would recommend focusing on your regular apps first as Corona apps in general tend to be more forgiving when scaled vs. regular apps especially on the iP6+.

Yes, and i can confirm the file names used in the generated *.ipa as below:

- AppIcon29x29@3x.png (87x87)
- AppIcon40x40@3x.png (120x120)

- AppIcon60x60@3x.png (180x180)

As for the 120x120 already existing, seems XCode 6 needs two separate 120x120 files and doesnt re-use the existing @2x (120x120) for the @3x (120x120) icon, though not sure why that’s the case.

thanks

If Apple still uses the CFBundleIcon table, then it should scan through the listed files, looking for the icon of the size it wants, but that doesn’t mean Apple isn’t going to do something different.  I always felt the requirement for a Default-568h@2x.png file felt like a nasty hack and I can see them forcing people into using these asset catalogs.

How that impacts Corona SDK build.settings files is yet to be determined.

Rob

Thank you, Corona8183 and Rob for this info. I am being tasked with updating 16 Corona-based apps for various updates like adding G.A., and it is requested of course that I make them iOS8-ready while I’m in there.

thanks for this information, i am going to see if they’ll accept my app with the new icons and default images added.

Just to be on the safe side, id also recommend including the new iPhone 5 image (LaunchImage-700-568h@2x ~see below) as this too seems to have a new name, though the old one “Default-568h@2x” should continue to work as far as i can tell, so best to include both if your not space constrained tell further details emerge.

4.0 inch screen: Default-568h@2x.png (old 640x1136 ~ for iPhone 5)

4.0 inch screen: LaunchImage-700-568h@2x.png (new 640x1136 ~ for iPhone 5)

4.7 inch screen: LaunchImage-800-667h@2x.png (750x1334 ~ for iPhone 6)

5.5 inch screen: LaunchImage-800-Portrait-736h@3x.png (1242x2208 ~ for iPhone 6 Plus Portrait)

5.5 inch screen: LaunchImage-800-Portrait-736h@3x.png (2208x1242 ~ for iPhone 6 Plus Landscape)

nb. based on my recent test i can confirm the asset catalogue as noted before is just for XCode’s internal management, when the application is actually built for distribution new standard image names are used for all the launch images and its these that are most likely used by the actual devices to detect compatibility similar to what the iPhone 5 used to do. 

I really want to submit my app, if it has issues I can always reject it later. The review process is so long these days.

If I understand you correctly I can theoretically build using Corona daily and select iOS8 in the drop down, then I can add these images manually into the ipa and zip and then use the Application loader?

Edit: I guess I don’t need to add them manually afterwards, just put them in the root folder and build…

If your in a rush then its worth trying. Certainly adding the below 5 files to your corona directory (similar to how its done for iPhone 5) should give you a better chance of your Corona app being iPhone 6/6+ compatible.

4.0 inch screen: Default-568h@2x.png (old 640x1136 ~ for iPhone 5)

4.0 inch screen: LaunchImage-700-568h@2x.png (new 640x1136 ~ for iPhone 5)

4.7 inch screen: LaunchImage-800-667h@2x.png (750x1334 ~ for iPhone 6)

5.5 inch screen: LaunchImage-800-Portrait-736h@3x.png (1242x2208 ~ for iPhone 6 Plus Portrait)

5.5 inch screen: LaunchImage-800-Portrait-736h@3x.png (2208x1242 ~ for iPhone 6 Plus Landscape)

The info is based on what we know from the current ‘non-indepth’ analysis of XCode-6 build files that target iPhone 6/6+ devices. However, keep in mind that we don’t fully know whether XCode-6 generates any additional files/data (other than the LaunchImages) that might also be required for setting iPhone 6/6+ compatibility. Until we have more info, actual devices or full emulator support to test against we wont know for sure, but for now its a good place to start.