How to turn on iPhone Retina in iOS Simulator? - iphone

I built and ran an iOS 4.3 app in Simulator. It initially brings up an iPhone 4 shell. Although all real iPhone 4s have retina display, this simulated iPhone 4 only has a resolution of 320x480.
I look in Hardware > Device. There's a checkmark next to the normal iPhone. So I'm using an iPhone 4 case but displaying normal iPhone resolution? I'm already confused!
iPad
✔ iPhone
iPhone (Retina)
I then switch over to iPhone (Retina). Strangely, it opens iPad with the same 320x480 resolution. Both the shell and the resolution are wrong here!
How am I supposed to turn Retina on and off and show it in the right shell?

iPhone (Retina) is the correct device to be choosing, but I'm not sure why Apple decided to use the iPad shell for that one. To enter 640x960 mode, go to Window > Scale and set it to 100%.

The iOS Simulator does indeed scale. I have no real reason to present on why it would choose the iPad shell, but the purpose of the scaling is to make sure it fits on your screen and stays (relatively) close to handset sizes. Be sure to check Window -> Scale and set it to whatever you find appropriate.

Related

Iphone only app cuts of the bottom of the screen when viewed in Ipad mode (2x)

my app is very basic and looks great on the iphone but in compatability mode 2x on the ipad it does not show the same screen as on the iphone. it was built as an iphone only app and has no major graphs. this is what Apple told me. 2.10: iPhone apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
I've had the same behavior on a physical iPad 2 for an existing working iPhone-only app.
In fact, after adding for each Retina images (suffixed by #2x) a corresponding non-Retina version in the project, my app launched successfully on the iPad, without any modifications...
I'm not sure it will work for you, but might worth to try ?

Iphone resolution on an Ipad

We have an app that has been rejected in the review process by the Apple app review people. The cause for the rejection is that the app is not scaling properly when run on an Ipad.
The app was never meant to be run on an Ipad, but there seems to be no point in arguing with them about that.
Apple sent us a couple of screenshots that show our app being run on an Ipad with the top portion of the view cut off. Notice how the app is run in some mode where it looks like an Iphone app and does not fill out the entire display area. When we bring up the app on an Ipad, it fills out the screen and does so without any edges cut off.
Can anyone please tell me how to run the app on an Ipad the way the Apple guys have - Iphone-sized? We believe we have a fix for the issue but we need to reproduce the error and then be able to verify that the fix solves the issue.
(the logotypes in the images are intentionally blurred)
I just went through this myself and here is how I resolved it:
Go into info.plist and see if any of the supported interface orientations are set for iPad. Despite selecting iPhone only, I had iPad supported orientations for four (portrait, portrait upside down, landscape left, landscape right). I deleted those.
I also deleted any reference to the launch screen in the info.plist. My app is pretty simple and there's no preloading of data so I don't really need a launch screen. If you do, you could go old school and make your first VC the launch screen.
I then made these changes in Target-->General-->App Icons and Launch Images
That was the only way I could get it in the sim to run the app at iPhone resolution while running an iPad (iPad2, iPad Air).
If Apple is going to force developers to ensure an app runs on an iPad even if it is made just for iPhone, they should eliminate the iPhone Only and Universal options and just have iPad Only as an option.
To run an iPhone app on an iPad, you just need to:
Acquire an iPad (you can also use the simulator)
Set the target device family in Xcode (it's under your target) to iPhone
Connect your iPad, perform any necessary certificate dances
Run the app on the iPad.
As long as the target device family is set to iPhone, the iPad will show your app in this mode.
Apple is likely running your app on a simulator, not on a real device. Notice the "2X" on the top right. In XCode - you should run the app on iPad Retina Simulator. On the bottom right you will see a button that you can toggle from 1X to 2X.
If you place the simulator in "2X" mode, you will see what Apple is seeing.
What OS are you running on your iPad? Things have changed in iOS 8 - and that's likely why you're not seeing what Apple is seeing. My guess is that your are running an app that was initially developed for iOS 7 or earlier - which means that you need to upgrade from scaled resolution to native resolutions to resolve this issue. Here is how you do it:
How to enable native resolution for apps on iPhone 6 and 6 Plus?

When I run iPhone app on iPad the screen resolution is wrong. How to fix this?

I encountered with a strange problem. I develop an application which is targeting iPhone device family with Retina 3.5 and 4. All the time I used iPhone 5 simulator to test all the UI and functionality and everything was good but know I have to test push notifications. I have iPad 4 (model MD522ZP/A) as an iOS 6 device. When I run my app on it all the UI layout became wrong. The most weird problem is when I tried to check display resolution with this code:
NSLog(#"RESOLUTION = %#", NSStringFromCGSize([UIScreen mainScreen].bounds.size));
I got this : RESOLUTION = {320, 480}. But it is iPhone 3 resolution! Why iPad didn't use Retina 3.5/4 resolution ? And how can I fix it? I don't want to create separate xibs only for iPad testing but I want to test my app on it so that all the UI elements will fit on screen.
Hope for the help.
It's not wrong. It is doing exactly the right thing. All references to sizes are in points, not pixels. When you get the bounds, it will be 320x480 on all 3.5" screens whether they are retina or not. Try it on any 3.5" retina device. You will get the same log output.
The iPad does not emulate a 4" device when running an iPhone-only app. It will always be a 3.5" iPhone compatible mode.
So seeing 320x480 is the correct size to expect.
Think of it this way. A retina iPad will show an iPhone-only app like it is running on a 3.5" retina iPhone. A non-retina iPad will show an iPhone-only app like it is running on a 3.5" non-retina iPhone.

in ipad simulator how to set screen size to 1x 2x format

For my App I have set the target device family=iPhone/iPad
and in project-> Set Active executable to iPad simulator and it was opening my App in iPad simulator in 1x/2x format so i could change the size by using option 1x 2x.
now i have upgrated my IOS SDK to 4.2 from 4.1
the probleam is: now my App opens in the iPad simulator with full screen size(instead of 1x 2x format) and all controls' position on the screen has been changed and it spoiled whole look of app.
now I want to open my app in iPad simulator again in the same 1x 2x scrren sizes format.
so now How I can do that?
please help and suggest
thanks
The 1x/2x option is only a compatibility option for iPhone-only apps. If you set the targeted device family to iPhone/iPad, then it is a universal app and will always display at full resolution on the iPad.

What is the difference between coordinate systems for iPad and iPhone?

I'm trying to make an application in cocos2d that can be used on multiple platforms (iPad, iPhone, iPod touch). Let's say I set a point to (360,160). The point would show up three fourths from the left and half way up the screen on the iPhone. Would it also do this on the ipad, or would I have to set the point to (768,384) to achieve this result? or does it stretch the screen. I figured I would have to, but am unsure because when I get the size of the screen during an iPhone OR iPad simulation, I always get 480x320 regardless.
Ignoring the iPhone 4 for the moment, the devices map their screens 1:1 with their coordinate spaces, so the iPhone has a coordinate space with size 320x480 (or 480x320 in landscape mode) while the iPad has a coordinate space with size 768x1024 (or 1024x768 in landscape mode.)
The iPhone 4, of course, quadruples the device pixels, but maintains an identical coordinate space to other iPhones and scales drawing to match the screen's resolution.
Note: if you get the same resolution running on the iPad Simulator it means you did not convert your project as an iPad project. Or you did not start it as a native iPad application but rather the iPhone App within the iPad Simulator.
Make sure you have gone through upgrading your target to iPad -> Xcode: Project menu, choose Upgrade Target for iPad
When running in the Simulator make sure you chose iPad Simulator as Active Executable.