What devices currently support Apple ARKit while its in preview mode? - ios

I'm trying to play around with Apple's new ARKit and have downloaded their sample ARKitExample project into Xcode 9 (beta).
Since ARKit doesn't work in the Apple simulator, I'm trying to archive, export and install this ARKitExample app onto my iPhone 7+ so I can actually take ARKit for a test spin as an actual user.
However from that example project's own README:
"ARKit and this sample app require iOS 11 and a device with an A9 (or later) processor. (ARKit is not available in iOS Simulator.)"
Looking at the specs for iPhone 7+, it looks like I cannot upgrade my phone to iOS 11, which makes me think that I cannot deploy and run this ARKitExample app on my phone.
However I see lots of confusing articles about which devices currently support ARKit, like this one, which seems to indicate that my phone does support it.
So I ask: do I need to figure out how to upgrade my iPhone 7+ to iOS11, or will everything work fine as-is, or do I need to find some other device that does run iOS 11? If that last scenario is the case: what devices currently run iOS 11?! I don't think it's even been released yet as it still stands in preview mode...

List of iPhone and iPad Compatible with ARKit in iOS 11:
iPhone SE
iPhone 6s
iPhone 6s Plus
iPhone 7
iPhone 7 Plus
iPad Pro (All three variants and models)
New 9.7-inch iPad (2017)

Related

iOS camera and audio API differences between iPad Mini and Iphone

I'm working on an hibrid iOS app , and the xcode simulator doesn't have audio or video ( webcam ) so the only way to test it will be having a real device , I'm trying to figure out if and IPad Mini 4 could be enough and not different in the API calls ( webrtc) to enable the camera to stream , or should better buy an iPhone for testing , thinking on an ipad because I can use it for other things too
Also how you do if you want to test iOS 10 and iOS 11 in the same device a downgrade could be possible , or also the only way is having another device just testing a lower version of iOS
Thank you!
iPAD Mini 4 should enough for your need, and most of the API will capability all current iOS devices (64bit)
However, if you want future proof, kindly thing about the device that have ARKit (iPAD Pro)as the trend of the development.
It better with two separated device for iOS10 / iOS11 as Testing for Commerce software, as iOS device don't allow downgrade.
https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html#//apple_ref/doc/uid/TP40013599-CH17-SW1

How do I make my app scale properly on 13-inch iOS tablets?

We finally got a 12.9-inch iPad Pro in the office! However, when putting our app on it, it's just stretched to fit the screen. Looking at the project file, I don't see any settings that would change this. How do I make our app properly scale on these large iPads?
I already tried Googling this, but I keep getting reviews and people begging for Xcode on iOS:
How do i make my app work on iPad Pro?
Make Xcode project iPad Pro compatible
iPad Pro .xcodeproj
Making your app work in iPad Pro
How to optimize app for iPad Pro
etc.
If you build with the iOS 9 SDK, then your app is expected to support all resolutions. Same if you use iOS 8 SDK and use a launch storyboard. Without that, iOS assumes that you don't support the resolution, but scales an iPad app. So that's what you need to do: iOS 9 SDK, and/or launch storyboard.

iOS iPhone app doesnt fill screen on iPad

I have an iOS app which resizes/looks fine between iPhone 4 through to iPhone 6s Plus. However, when I run the same app on any iPad device I get black bars on all sides of my view. I've tried several things to fix it but nothing has works. Here is what it looks like
I checked the following settings:
General>Deployment Info>Devices: iPhone
Autolayout turned on
Size Classes Disabled
No warnings in interface builder
Problem exists on ios 8.0 and 9.0
Works fine in iPhone devices
Xcode 7.2 (started project in Xcode 6.4)
Launch Screen.storyboard exists
I only want it to run on iPhone...
Paragraph 2.10 of App Store Review Guidelines
2.10
iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
iOS iPhone app doesn't fill screen on iPad
That is the definition of an app not targeted for iPad, as explained above in the accurate comments from #NicolasMiari.
On the other hand, if you have a genuine reason to not target iPad, because the hardware does not provide a key capability you need, you can explicitly request for that capability, and your app will not launch (nor be proposed on the App Store when browsed from that device).
Examples include SMS, Telephony, HealthKit. See the Device Compatibility Matrix.

Want my app to only work on iPhone 4 and above and no other devices

Hell all,
I have developed an app that should only work on iPhone 4 and above. The reason is during load time, the app checks the type of iPhone you have and set certain images based on the screen size.
Is this acceptable by apple for me to decide which iPhone user running and set the images based on that?
Also where do I say I want this app to run on iPhone 4 and above up until iPhone 6+ and not on any other devices such as ipad and etc?
Thanks
Borna
Set your Devices to iPhone rather than Universal under General>Deployment Info and make sure your Deployment Target is set to iOS 7.0.
As #Sam B told below, there is no way to specify certain devices.
But with following trick you can get result that you need:
Set your Devices as iPhone in General Tab of xCode proj file. Also if you want 4+ devices set Deployment Target as iOS 7, if you'll keep iOS 8+ it will be 4S+ devices only.
I don't understand how the posted answers are considered correct?
The answer to OP question is NO. There is no way for you to restrict access to certain iPhone device (4, 4S, 5, 5S, 6, 6P). If you specify your project to be "iPhone" only in Xcode then technically it will run on all iPhone no matter what the model.
Now having said that you can theoretically make it work only on iPhone 4s or above by setting iOS to 8.0 or above as one cannot load iOS 8 on iPhone 4 or below.
As for the apple reviewers, they will test your app on the latest app device, iPhone 6 or 6p. They don't have time to regression test your app on all possible apple iphone devices.
Does this make sense?

Dropping iPhone 4S Support

The iPhone 4S is the oldest iPhone still to be supported by Apple, which as such runs iOS 8, a requirement of my own app.
However, as hard as I am trying, my app experience is being worsened due to the fact I keep having to adapt to the tiny (y comparison) screen size of the iPhone 4S.
Is it possible in any way to drop support for a device? Or as it runs iOS 8, do I have no way of doing so? Is it a case of, if I release it on iOS 8 for iPhone, it WILL be available for iPhone 4S owners?
You can't drop support for iPhone 4S just yet, however you can disable some features when your app runs on certain undesired devices. Just make sure you state that in your app's description.
This follows the lead of GarageBand for iOS version 2.1 in which some features are only available for newer devices.
PS: remember to also quote this fact in the reviewer's notes section.

Resources