Different app resolution between iPhone 8 and iPhone 6,7 with same settings - ios

we are developing an app that get images (640x480) from the rear camera and process it. Preview and images are displaced to top and right of the screen on the iPhone 8, but on iPhone 7 works perfectly as we want. We think the problem could be the values of focal length (fh,fv) set. As we know iPhone 7 & 8 has the same model of cameras and screen, but the response is different with the same settings. Any of you had the same problem or know how solve it?.
iPhone 8 incorrect behaviour (displaced at right and top).
https://imgur.com/a/tjt7btb
Correct beahaviour, centered in the middle of the screen (iPhone 7).
https://imgur.com/a/JkkCPJ9
Thanks in advance!.

Related

How to remove keyboard enlargement in ios objective c

I want to show keyboard smaller but causing problem. Please compare both images, keyboard size is bigger in first image than second image and also vertical spacing between two character is more . I have already added Retina 4-inch launch image ,Retina HD 4.7 inch launch image and retina HD 5.5 launch image. Keyboard is showing proper in iphone 6 but my app design causing problem when i run in iphone 5. How I can show keyboard smaller without design problem? I have searched a lot but couldn't get solution of this problem.
This is image shows the proper keyboard size which I want in my app.
this is my iPhone 5 design image, here keyboard is looking starched.
see this is my iPhone 6 design image, it is looking fine.

Screen scale/size is right in iOS 8 but wrong in iOS 9 on same device

I've recently updated Xcode to 7 so I could start developing against iOS 9. Upon first launching my application, I noticed that the screen size/scale is off compared to how it looks on iOS 8, both on the iPhone 6 device.
Here is how it looks correct on iOS 8:
Here is how it looks incorrect on iOS 9:
If you also notice, both of those images are the same exact size.
Note how the AdMob banner has white space on the left/right, I'm assuming AdMob just knows to center it. Also the big white space to the right of the table view and the button down on the bottom.
Also, when in iOS 8, and putting a break point in the main delegate method, the main window has a frame of (0 0; 320 568). The layer on the window is also the same.
On the flip side, when in iOS 9, and putting a break point in the main delegate method, the main window has a frame of (0 0; 375 667). The layer on the window is also the same.
That explains why the difference in the look of the app in iOS 8 vs. iOS 9, but I do not know why iOS 8 looks the way I want it to and iOS 9 doesn't. Is there some setting that I'm missing?
EDIT:
I've also since figured out that the bounds of the mainScreen is different between when this runs in iOS 8 vs. iOS 9. The screenBounds of the mainScreen is set to the same frame as up above, and I have no clue why it is different between the two iOS versions.
EDIT 2:
So I just created a brand new project and tested this out. I do not get the same behavior as explained up above in my first edit. When I view the mainScreen bounds, in both iOS 8 and iOS 9, it is (0,0;375,667);
I just cannot figure out what is causing this to happen so I can fix it.
EDIT 3:
After toying around quite a bit last night, it turns out that the launch images are causing this to happen. If I remove the launch images of Default-568#2x.png from the list, then it displays properly. Very odd that something like this can effect the scale. I still didn't figure out how to solve this yet though because you have to have launch images or apple will reject the app, so I'm keeping this open until I have more time tonight to toy around with it.
Are you testing on devices or simulators? If on device, your iOS 8 device might have Display Zoom enabled: Settings → Display & Brightness → Display Zoom. This would make an iPhone 6 (375 ✕ 667) think it’s an iPhone 5 (320 ✕ 568).
Apple has always looked at features of your application to decide what screen sizes your app can handle, and simulated a screen size that it is sure your app can cope with.
For example, you have probably added a launchscreen image in 320 x 568 pixels. That tells iOS that you know about 4" devices; without that your app would run in a 320 x 480 screen. To support an iPhone 6, you would have had to add a 375 x 667 launch screen; without it iOS reports that you have only an iPhone 5 sized screen.
Now you are using the iOS 9 SDK. When you use that SDK Apple expects you to handle any screen size, so suddenly it reports the true screen size of 375 x 667 (414 x 736 on a 6+). You can't use hardcoded sizes anymore; you have to adapt your app to the screen bounds.

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

Developing in xcode 6, i want it to scale in iPhone 6 devices

i've created a new app in Xcode 6, the size in the storyboard simulates 4 inch screen.
I want that on iPhone 6/6+ devices it will scale up, and not adjust.
I tried to remove the Launch Screen file, it is now scaled, but now i get 2 black stripes in the upper and bottom of the screen.
Please Help. Thanks.

How can I tell if a Springs and Struts app is scaling in the iPhone 6 simulator?

I have a couple applications built pre-auto-layout (but w/ Springs and Struts to support iPhone 5+) that I'm trying out in the iPhone 6 and 6 Plus simulator and they actually look quite good. However, I can't tell if the Springs and Struts are actually doing their job so-to-speak or if they're just being scaled. There must be some obvious thing I'm missing where it says which? Also, do auto-layout apps just automatically convert when recompiled with the latest SDK for iPhone 6 so they're not just scaling as long as 3X artwork is provided (in the case of 6 Plus)?
You can easily see, if your app runs in scaled mode by outputting the bounds and the native bounds screen of the main screen:
println("bounds = \(UIScreen.mainScreen().bounds)")
println("nativeBounds = \(UIScreen.mainScreen().nativeBounds)")
Without a designated launch images the output of the iPhone 6 Plus Simulator is:
bounds = (0.0,0.0,320.0,480.0)
nativeBounds = (0.0,0.0,960.0,1440.0)
The native bounds are 3 times the scaled bounds. This is the reason behind the #3x display.scale.
In case of the iPhone 6 Plus nativeScale also helps:
println("main screen native scale = \(UIScreen.mainScreen().nativeScale)")
println("main screen scale = \(UIScreen.mainScreen().scale)")
nativeScale will always be 3.0. scale will be 2.0 if the simulator does scaling.
To get a comprehensive understanding of the new resolutions see this great blog entry: http://www.paintcodeapp.com/news/iphone-6-screens-demystified
Use a different launch image for iPhone 6, iPhone 6 Plus and all the rest.
If you see a specific lunch image you know your app is not scaled and that it is running in the device's native resolution.
The only way I was able to tell was to go home and see if the status bar text was smaller than it was in my app. A smaller home screen status bar implies it is being scaled. If the status bar text is the same size within your app in the iPhone 6 sim as it is on the home screen of the simulator, then it is using your springs/struts or autolayout instead of scaling

Resources