iOS Simulator display size configuration? - ios

Is there a setting or configuration option somewhere for the display size (iOS main window height and width in iOS points) that the iOS Simulator uses when launched to run an app? (other than the current default 480 and 1024 numbers).

There's no official, supported way to choose a screen size other than the four offered in the Hardware > Device menu (iPad, iPad retina, iPhone, iPhone retina).
Cédric Luthi published a way to make the simulator use a retina screen size of 640x1136. I don't know if his hack can be used to run at other resolutions.

Related

Removing launch screen file from Info.plist scales the views

I noticed something that when you remove the launch screen file entry from the XCode Info.plist file, any view of any view controller becomes scaled according to the screen size, so the views appear zoomed in on large screen sizes such as the iPad Pro (12.9 inches) and appear somehow zoomed out on smaller devices (iPad Pro 9.7 inches).
In that case it seems that the Auto Layout constraints have no effect as the scaling is done automatically.
I really can't understand what does this has to do with the layout constraints, so I appreciate if any one can explain what's the reason for that.
Without being able to provide deep details, iOS uses the launch screen definition (view or static images) to determine which size classes the app should use. If you have not supplied those, it seems you get scaling that you generally do not want.
That doesn't mean auto-layout no longer has any affect... it just means that the auto-layout engine is not using the current screen size for its size/positioning calculations.
You'll see very similar results if you explicitly set your project for iPhone only.
Simple, obvious solution: Don't remove the launch screen.
Yes this is expected behaviour... Same is for iPhone 6 Plus. If you remove the iPhone 6 Plus launch screen, it will display the iPhone 6 scaled version.
This is just for backward compatibility. If your app is not ready for iPad Pro or iPhone 6+, scaled version can be used by removing the respective splashing screens.
All current iPhone apps or iPad apps in AppStore those are not optimised runs as a scaled version.

Disable native resolution ONLY for iPhone 6 Plus

I need my app to not use iPhone 6 Plus' native resolution and rather scale up from iPhone 5/6.
I have removed the Launch Screen File and cleared "Retina HD 5.5" from the Launch Image, yet when people run it on iPhone 6 Plus, the app is still using its native resolution.
Note that removing the "Retina HD 5.5" was sufficient to bypass iTunesConnect App Screenshots validation for iPhone 6 Plus, yet the app itself is not honoring that.
Is there anything else to remove to eliminate iPhone 6 Plus native resolution?
There is not. You can only support 6 and 6 Plus together or none of them. As soon as you use the Launch Screen File Xcode assumes you want to support them.
I really don't know why you want to do that, but there are some tricks to resize fields and buttons (I assume you want to do that)
You should be able to determine the screen size/native screen size so you can resize your CGRects for example.
https://stackoverflow.com/a/4779415/2826164
create an global function or variable to multiply your current width and heigth by, for example native width of 6+ = 1242*0,60306 = 750 native.
i'm not sure if you need 1080 or 1242 because of downscaling
More info about iphone 6+ resolution

iPhone 6 Screenshot Size

I am using iTunes Connect to submit an iOS app and I wanted to get screenshots of the app on an iPhone 5 (4 inch screen) and an iPhone 6 (4.7 inch screen), both of which I own. Apple says the image sizes for the screenshots need to be 640x1136 and 750x1334 respectively
When I took a screenshot on the iPhone 6 of the app and sent it to myself through email, as the "actual size", the image was 640x1136, not 750x1334. Why is this?
In Xcode the iOS Simulator makes the app look much worse (lower quality imagery and glitching in some tables/images) so I don't want to take a screenshot from that. How should I go about getting a screenshot of the proper sizes?
Your iPhone 6 is in Zoom-Mode. You have to change it to normal mode. Go to Setting - Display & Brightness - View-zoom (translated from Germany).
The iOS Simulator brings full scale screenshots even if the simulator is scaled down due to your computers screen size.
Edit:
the iOS Simulator no longer brings full scale screenshots if scaled down, you have to scale to 100% to get the right dimensions on the simulator

Launch Screen Image size for all iOS screen sizes

I am trying to create a lunch screen image for my iOS app. But I am not sure whats the right size for it.
According to apple website for iPhone 6 the size should be 750 x 1334 (#2x) for portrait.
But my question is, how to create a launch screen image that will fit for all screen sizes such as iPhone 5, 5s, 6, 6 plus, iPads etc?
Whats the correct way of doing this?
Go to images.xcassets
there you can see launch image sizes.Just Enable iOS version from right side.
iPhone Portrait iOS 8:- 1242*2208 (5.5 inch)
750*1334 (4.7 HD)
iPhone Landscape iOS 8:-2208*1242 (5.5inch)
iphone Portrait iOS 7,8 :- 640*960 (#2x)
640*1136 (Retina)
iPhone Portrait 5,6 :- 320*480 (#x)
640*960 (#2x)
640*1136 (retina4)
But my question is, how to create a launch screen image that will fit
for all screen sizes such as iPhone 5, 5s, 6, 6 plus, iPads etc?
That will be very hard to do. The devices have different aspect ratios and the difference in size between say iPhone 5 and iPad Air is pretty big to use one image for all. If you want to use the classical launch screen with a screenshot, resizing one image won't look the same as the user interface on different devices. If you want a launch bitmap image you will need to supply all the necessary sizes.
Whats the correct way of doing this?
You can create either launch PNG image or launch screen as a storyboard.
For launch image, your project has an assets catalog. Either use existing or add new iOS launch image. The editor will show you all required sizes.
For a storyboard, your application probably already has LaunchScreen.storyboard. You typically won't create specific size or sizes here, but use auto layout that will resize the screen appropriately.

Always hide iPhone/iPad graphic bezel from iOS Simulator?

If you build to a simulator with dimensions too large to fit on your screen, it'll throw it into a nice, neat little regular OS window, rather than the "Oh look, it's an iPhone on my screen!" thingy.
I'd like it to always do that, even with a non-retina phone whose dimensions can fit on my display. I don't ever want to see the graphic bezel around the outside.
Is that possible?
To not show the graphic bezel either change the iOS Simulator device under hardware -> device to iPhone Retina 3.5 inch or iPhone Retina 4 inch. Another solution is you can keep the "iPhone" device setting and change the window scale. Either of these will remove the bezel.

Resources