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

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

Related

Adding a Launch Screen changes the display of my whole app

I tried adding a launch screen to my app. I tried the simplest : just add a new file of type Launch screen to my project (and do nothing more). But this seems to change the resolution of my whole application. Here are sample screens of the same controller of my application with and without the Launch Screen :
without the launch screen :
with the launch screen :
Strangely, once I have used the Launch Screen once, I need to quit and re-launch the simulator to re-obtain the original resolution.
What should I do and which resolution is the correct one to work with ? Does it have something to do with retina ?
I can copy-paste the code generated in the LaunchScreen.xib if needed.
From Apple's documentation:
You use a launch XIB or storyboard file to indicate that your app runs
on iPhone 6 Plus or iPhone 6.
By adding a launch screen you activated native support for iPhone 6 and iPhone 6 Plus. That means that your app is no longer scaled up to adapt the larger screens of the iPhone 6 and 6 Plus, but uses the full resolution of those larger screens (which IMHO is a good thing that you should do).

How to force universal app on iPad into scale mode?

I created an universal iOS app. On all iPhone variants I want native resolution without scaling, so I created splash screen images for all available sizes in images.xcassets/LaunchImage.launchimage and set them all in Xcode:
Now, this works very well for all iPhone versions up to the biggest iPhone 6 Plus.
On iPad (with high pixel density) though I don't want native resolution. Instead I want it to scale the app (even if it looks a bit blurry then, but that's ok).
How would I do that?
In image assets you have to provide proper size for each launch screen, You can not use the same image for two devices in launch-images ( unless you have two copies of the same image ).
If you want to make app-size smaller, implement launch screen, set its background color to your desired background color and put your logo in the center of it. You can now remove iPhone 6,6Plus images from image assets, but you still have to provide launch images for iOS 7 devices (old iPhones / iPad ).
Don't use the Asset Catalogue. Create a LaunchScreen.xib , add a UIImage inside the view. Open the attribute inspector in the right hand panel and set the view mode to Aspect Fill.
The solution was quite easy, I simply changed project type from "universal" to "iphone" and that did the trick!

how to get a normal keypad on iphone 6 and 6 plus

I'm building an app that works fine on iphone 5. When I look at it on a iphone 6 or 6 plus however, I see that the keypad is stretched, basically zoomed in. I'm using autolayout and storyboards.
What do I need to set in order to make the keyboard scale to a normal size?
You need to ensure that the app is optimized to run in the native resolution of these devices, rather than the zoomed compatibility mode. This can be done by setting a properly-sized launch image for the iPhone 6/6+.
These launch images will be labeled Retina HD 4.7 and Retina HD 5.5 in your launch images file, respectively. If you do not see these options available in your launch image assets, create a new launch image set and they should be there.

Single image as launch image for iOS 6 and iOS 7 in iPad

For iPhone app which support iOS 6 and iOS 7, we can use single image as launch image for both os versions. But in iPad, iOS 6 version launch image size should be 1024x748 and iOS 7 version launch image size should be 1024x768. Due to separate images, i feel the app size get increased unnecessary. Is there any way to reduce the app size or any way to use a single image for both version of the app?
Any suggestions please...
This will not be best answer to your query (there may be better solution), in iOS7 as application gets full access of screen, splash image size is 1024x768, where in iOS6 access starts after status bar so it's 1024x748.
If you will check option [Hide status bar during application launch] than for iOS 6 splash size will be 1024x768, so you don't need to add any extra image, check attached image to see that option in Target->general settings

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

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+)

Resources