how does iOS scale up a non fullscreen launch image to show it as a fullscreen launch image - ios

iOS guidelines ask us to package 768 x 1004 (portrait launch image) or 1024 x 748 (landscape launch image) sized launch images for iPad irrespective of the fact whether the app is fullscreen or not. However if we intend to extend the duration of our full screen by showing the same launch image for some more time so that we can do the initialization in the backend, we tend to see a small drift (the launch image shown by us shifts by a small amount).
This is because of the fact that scaling used by iOS to show the non fullscreen image is different from what when we display the image.
Can someone help me fix this?

I've seen that Apple document that requests Default.png files of 1024x748 and 1004x768. However, if your app specifies that it's a full screen app (status bar hidden), then I think it's ok to make your Default.png files (for iPad) the full 1024x768, which makes this problem go away.
I'm just looking at a full screen universal app I have now, that has been released, and its launch image is full screen (1024x768).
Running in the simulator works just fine (and I marked up the image to make absolutely certain that it wasn't cropping off the top 20x and then rescaling).
I don't have an iTunes Connect app that I can currently validate against (easily), so it's possible that it'll complain upon submission to iTunes Connect. But, I doubt it.
If you look at the project Summary tab -> iPad Deployment Info, it will show a warning for your Launch Image sizes:
The size of the launch image for iPad in landscape mode does not match
the recommended size of 1024 x 748 pixels.
So, I take that as a recommendation, not a requirement.
Edit: also, see this other stack overflow question. That answer also suggests using 1024x768 images, and it hasn't received any pushback from the community (after 19 months+)

Related

Using rescaled iPhone screenshots as iPad screenshots in universal app for itunes connect

Can't directly take screenshots from an iPad simulator/device. Thus, resorting to rescaling crisp iPhone screenshots into iPad screenshots. The results are minor width stretching.
1242x2208 (iPhone 5.5") is rescaled into 2048x2732 (iPad 12.9") using 'nearest neighbor (preserve hard edges)' in photoshop resampling.
Currently I don't mind because the specific iPhone screenshots were very hard to capture & I need them the way they are; replicating them through the simulator/device would be impossible, especially for the iPad.
Will apple have issues with this during review process & reject the app?
Or it doesn't matter?
I can't speak exactly to the original question about the App Store but I've found that they allow some significant variation with screenshots (although obviously the pixel dimensions do have to meet requirements) such as adding marketing text and images around a partial screenshot. You could maybe go that route if you can grab part of an iPad image.
Is your screen resolution too low on your Macbook or external monitor to take simulator shots of an iPad? If so, perhaps you can find a 4K/5K monitor to use temporarily (maybe even at a computer store by being nice to someone :) ). Maybe landscape screenshots would work instead?
Anyways two ways you could grab them (with the Scale set to Pixel Accurate) are:
⌘-Shift-4, press space bar with the mouse over the simulator window, and then click, or
In the Simulator app, File/New Screenshot (⌘-s)
Hope that helps!
So I risked it & attached re-scaled iPhone screenshots as iPad screenshots into iTunes Connect. The app passed the app review process with no problems & is now released into the App Store.
Just to clarify, as Mark Thormann has already pointed out, variation is allowed BUT "pixel dimensions do have to meet requirements"!

iOS Interface Oversized in Xcode Application

I have recently been running into a problem with one of the iOS applications that I'm developing. The problem with this application is that UI elements appear to be oversized. In Xcode the elements could have the same default sizes, but during the simulation process the elements are almost too large to fit on the screen. Has anyone ran into a similar issue and figured out how to resolve it. I have attached pictures below that illustrate the problem more clearly. In one of the pictures below, the keyboard clearly appears to be larger than that in the other picture.
Oversized User Interface
Normal Sized User Interface
Two possibilities
The device has Display Zoom turned on. You can change that in Settings > Display & Brightness > Display Zoom.
You app doesn't have a launch image for that size. Either add a launch image for that screen size or use a launch storyboard/xib. How to enable native resolution for apps on iPhone 6 and 6 Plus?

Launch Screen in Xcode for Swift

I have created a simple Launch Screen for my app using the LaunchScreen.storyboard (in Xcode 7.1.1). It consists of a label containing a title, a UIView (with mode set to 'Aspect Fit') containing an image of the icon (2000 px x 2000 px) and a label at the foot containing a copyright statement (see image below).
Can anyone tell me if this will meet the App Store requirements for a Launch Screen?
Thanks!
There's no problem with your launch screen.
The only thing I'd recommend to change is reduce resolution of your icon - there's no need to icon be so big. It will speed up your app launch time and reduce it's size on device.
Here's link to Launch Screen guidelines, so you can learn more from there.
And here's link to App Store Review Guidelines, they don't mention Launch Screens, but still it's worth reading them before app submission.
Three tips to create a great splash screen for your mobile app:-
1 - Use the right size
From one smartphone to another, the screen resolution can vary a lot.
Let's imagine you have crafted the perfect splash screen for an iPhone 5S. This image should mesure 640 x 1136px. It will look great on the iPhone 5S, 5C and 5, which have the same screen resolution. But what about the iPhone 4 which has a 640 x 960 px screen resolution? Displayed on the iPhone 4S or 4, your splash screen will be distorted.
To make the perfect one, you should create as much splash screens as there are screen resolutions. If your are creating an iPhone app, it's not a big deal since there are few devices.
2 - Keep it simple
The splash screen doesn't last very long. So no need to put a long text on your splash screen. Your users won't have the time to read it. And moreover, that's not the purpose of the splash screen.
Use your brand name, your logo, your motto, or whatever describes you and your app the best. Make a clear composition using those elements, and create one single image, in portrait mode.
If you want to create several sizes for your splash screen, I recommend you focus on the center of the image to put your composition. Leaving the edges of the splash screen free will enable you to crop your image to the different desired sizes.
3 - Tell your users it's loading
The splash screen is a still image. When you see it, it looks like your phone is frozen. Nothing happens. You can't interact with the app. You're stuck. You can only wait for the app to finish loading.
A lot of things can happen in the background when your app is being launched. Your app may need to upload or download data before being ready to be used. Your app launches some processes to boot correctly a new session or restore an old one ... Well, depending on the user's phone processor and/or the bandwidth the phone has access to, the time to boot your app can vary a lot.
To reassure your users, you should mention in your splash screen that your app is loading, and that within a few seconds of patience, your user will be able to use and enjoy your app.
Note:-
Copied from here

my iOS app is in low resolution (status bar included)

I use an iPhone 6 and I launch Skype and my app.
My app launches in low resolution (seems like non-retina) and Skype launches in high resolution - status bar resolution stays the same as in home menu of iOS, while the status bar in my app seems "bigger".
screenshot
The one on the left (mine) is clearly lower resolution.
What could be causing that ?
Make sure you have Launch Screen or launch Images at correct resolution for iPhone 6 or 6 Plus, otherwise your application will run in 'display zoom' mode. (scaled up version from iPhone 5 or 4...)
See this SO question, you can either :
use a XIB that adapt to different screen resolutions
use XCode Asset catalog 'LaunchImage' image set, and fill the correct sizes

Orienting iOS splash image to landscape/portrait according to launch orientation

I have an app that can launch in portrait or landscape. I'd like the Default.png file (the splash image that appears when the app launches) to show the image in the correct orientation so I expect I'd need to use two different images (different dimensions). I don't know how to make the app pick which image to use based on its launching orientation, however. Is this possible? Is there any way to know what orientation the app is launching in (before the splash is shown) and then pick the correct image, or do I simply have to settle with either having the image rotated sideways in one of the orientations or having an image that is indistinguishable at 90 degree rotations?
You can name your start up images specifically for the orientation and each one will be displayed for that orientation
Default-Portrait.png
Default-PortraitUpsideDown.png
Default-Landscape.png
Default-LandscapeLeft.png
Default-LandscapeRight.png
See: http://iosdevelopertips.com/ipad/ipad-managing-multiple-launch-images.html
When loading an application on an
iPhone or iPad, a launch image can be
shown to provide feedback to the user
that the application is loading. On
the iPhone one Default.png file was
adequate, with the iPad one needs to
anticipate the device being started in
any orientation, including upside
down.
iPad Launch Image Orientations
To deal with various orientation
options, a new naming convention has
been created for iPad launch images.
The screen size of the iPad is
768×1024, notice in the dimensions
that follow the height takes into
account a 20 pixel status bar.
Filename, Dimensions
Default-Portrait.png * (768w x 1004h)
Default-PortraitUpsideDown.png (768w x 1004h)
Default-Landscape.png ** (1024w x 748h)
Default-LandscapeLeft.png (1024w x 748h)
Default-LandscapeRight.png (1024w x 748h)
Default.png (Not recommended)
If you have not specified a Default-PortraitUpsideDown.png file,
this file will take precedence.
If you have not specified a Default-LandscapeLeft.png or
Default-LandscapeRight.png image file,
this file will take precedence.
Although you can include a Default.png
file, and it will be used if no others
are specified, I would consider it a
best-practice to include all the
relevant images needed by your
application.
See also apple.com: https://developer.apple.com/library/content/qa/qa1588/_index.html, "Provide Launch Images".
Note:
iPhone-only applications:
iPhone-only applications may only have
one launch image.
And: (Apple) Providing Launch Images for Different Orientations, (Apple) Launch Image Type
EDIT 28/06/2014: This answer is from 2011 and as pointed out by #AlexShaffer: "These resolutions listed above are out of date for iOS 7. Launch images for iOS 7 include the status bar area. You should probably also use image catalogs for iOS 7 instead of using images with a naming convention: https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/AddingLaunchImagestoanAssetCatalog/AddingLaunchImagestoanAssetCatalog.html"

Resources