iPhone/iPad front camera FOV - iphone

There are some measured results available for certain older ios devices but I'm not able to find FOV numbers for newer models, specifically, iPhone 5s ~ 6s Plus and iPad 4 ~ iPad Pro. Also, the numbers listed on the above link don't match with some other calculated results.
I'm aware that FOV number can be read using the following API
NSLog(#"Camera's FOV is %f",myCamera.activeFormat.videoFieldOfView);
However, since I don't have all the models available at hand and the read numbers that are publicly available for some models also doesn't match measured/calculated results, I was wondering if there are reliable FOV numbers for most if not all iPhone/iPad models. Thanks.

I think you might want to take a look at
https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/Cameras/Cameras.html
Table 4-5 iPhone 8 / iPhone 8 Plus / iPhone X Front Camera
Table 4-12 iPhone 7 / iPhone 7 Plus Front Camera
Table 4-15 iPhone 6s / iPhone 6s Plus Front Camera
Table 4-17 iPhone 6 / iPhone 6 Plus Front Camera
Table 4-19 iPhone SE Front Camera
Table 4-21 iPad Pro 12.9-inch (2nd generation) / iPad Pro 10.5-inch Front Camera
Table 4-23 iPad (5th generation) Front Camera
That's about all the calculations of FOVs out there. Also, they are from apple so I believe they are reliable.

Related

ARKit template project is not displaying SpriteKit nodes

I'm trying to learn the basics of ARKit and I created a project in XCode 9 beta 4 by using the template for an AR app with SpriteKit. This project is supposed to already have the implementation of a sample app that displays an emoji in an SKLabelNode when you touch the screen.
I'm trying to run this sample in an iPad Mini 4 running iOS 11. I had to remove the arkit key from the Info.plist, and then the app runs. But the emojis are not shown. I also tried example of ARKit with SpriteKit, and the images are not displayed.
However, I could successfully run Apple's sample app which renders 3D models and I can see them. And also this other example that uses SceneKit as well.
How is it possible that I'm able to display 3D SceneKit objects but not 2D SpriteKit objects in my device? What could I be missing?
iPad mini 4 is not supported. ARKit requires an A9 or better processor
The devices that use A9 or A10 chips are:
iPhone 6s and 6s Plus
iPhone 7 and 7 Plus
iPhone SE
iPad Pro (9.7, 10.5 or 12.9)
iPad (2017)
source:http://www.redmondpie.com/ios-11-arkit-compatibility-check-if-your-device-is-compatible-with-apples-new-ar-platform/

iPhone 6 / 6+ Image sizes - Xcode 6 [duplicate]

This question already has answers here:
Image resolution for new iPhone 6 and 6+, #3x support added?
(4 answers)
Closed 8 years ago.
So I've just started using Xcode to make a game for iOS and I've been struggling with the whole screen size/background image sizes...
I've been reading a lot of questions like this, but I don't understand what is meant by #3 and #2 etc?
I was under the impression if I account for the size of iPhone 6+, it would all just be scaled down/autofit iPhone 6... or visa-versus.
If you plan to support for only iOS 8 and onwards on your game then you do not have to give different images for different device types.
As per the WWDC 2014 video titled "What's new in interface builder" Apple introduced support for Vector Images. You have to give the the image at 1x resolution and Xcode will create the required images at compile time. I found this link useful for further understanding.
http://martiancraft.com/blog/2014/09/vector-images-xcode6/
On the other hand if you want to support iOS 7 also then you will have to give 3 sets of images for #1x, #2x and #3x. These numbers are scaling factors. Apple introduced newer devices with higher resolution it became necessary to give higher resolution images to keep up with the device resolution. So these sets of images are basically to be be displayed on devices with different resolution.
#1x - non retina devces like iPhone 3GS. iPad,iPad2 (not a complete list)
#2x - iPhone 4s, iPhone 5,iPhone 5s,iPhone 6,iPad 4 (not a complete list)
#3x - iPhone 6+

List of iOS devices that support compass/geomagnetic field

I am developing an augmented reality iOS app (iPhone/iPad/iPod) and I would like to have a list of devices where this feature is supported.
I mean the compass and the geomagnetic field so that I can get the orientation of the device in all degrees of freedom.
Thanks!
The compass is available on all iPads and on the iPhone 3GS and 4.
I was also wondering if there are any devices left capable of running iOS7 or iOS8 without compass feature and a quick research pointed out the following:
Compass available:
on any iPhone 3GS or later. iOS7 support from iPhone 4 or later, iOS8 support from 4S or later.
on any iPad. iOS7 and iOS8 support starts with iPad 2 or later.
Compass not available:
on any iPod touch. 5th generation (current model as of 2015) does support iOS7 and iOS8
So if you design an application for iOS7 or iOS8 and only for the iPhone/iPad there will be heading available. For the iPod touch not.
Compass does not provide orientation in all degrees of freedom, although you can get that data from the orientation sensors.
You should also look at the gyroscope (iPhone4 and iPod touch 4 only so far), which provides much more accurate and faster orientation sensing in all degrees of freedom, see UFO on Tape for an excellent example.

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.

How can I determine programmatically that my app is running on an iPhone, iPad or iPhone 4?

I just finish my iPhone game using cocos2d. But before I put it on the AppStore, I'd like to make it work on iPad (which have a bigger screen) and iPhone 4 (which have a bigger resolution).
So, how can I determine programmatically that my app is running on an iPhone, iPad or iPhone 4, to be able to use the correct coordinates / images in my game?
Thanks for your help!
Between iPad and iPhone — Already answered many times.
Between iPhone and iPhone 4 — The size reported is still 320×480, so you don't need to change anything about the coordinates. Create an #2x alternative for the images if you need a high resolution UI image.