iOS camera and audio API differences between iPad Mini and Iphone - ios

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

Related

iPod Touches and Development

I've begun developing the iOS version of my app. While I have a working android, I don't have a working iPhone and I will not spend the $1000 for the new one. I found some older posts, which said yes to this question, but I wanted to make sure it was still valid before I buy an iPod touch. I was wondering, that so long as my app doesn't use iPhone specific hardware (like GPS) if I can just use an iPod touch for development. And if it works on the iPod touch, does that imply it will work on iPhone (again, given the hardware constraints).
Thanks for the help.
An iPod touch is an iOS device. All iOS apps not specific to just iPads will run on any iOS device, including iPod touches. This is true as long as the app doesn't list a required device capability not found on the given device.
So yes, in general, using an iPod touch to test an iOS app is perfectly fine. Use it along with all of the different simulators to make sure your app works properly on all of the different screen sizes. But you should always test an app on a real iOS device since the simulator has limitations such as no camera, inability to send email, no ability to launch other 3rd party apps, a case-sensitive file system (normally the simulators are case-insensitive), etc.
Just be sure you get the latest iPod touch that supports iOS 11 (the 6th gen). Keep in mind that even the latest iPod touch may not be useful for more than a year, maybe two, with regard to being able to install the latest version of iOS.
You could also look into a refurbished iPhone 6s or even a new iPhone SE. Both are much cheaper than $1000. As I write this, you can get a refurbished iPhone 6s for $369 USD. Though a refurbished 6th gen iPod touch is $149 USD. But buy the newest device you can afford. A cheaper device that won't run iOS 12 or 13 isn't much of a bargain.
I find the https://en.wikipedia.org/wiki/List_of_iOS_devices page useful to know what devices run which versions of iOS.

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

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)

iPhone 5 vs iPod Touch for development

I am currently developing iPhone apps on my iPhone 4 but I need a larger screen to test and develop on. Rather than buying a new iPhone 5 to test on (as rumour is that the iPhone 6 is about to be announced), I was thinking of buying the latest generation of iPod Touch. I was also thinking that my next phone will be an Android phone rather than an iPhone so thats another reason for the question.
From what I can see HERE the only difference between the iPhone 5 and iPod Touch is that the Touch does not have phone capabilities or Mobile Network support. For those I can always use my iPhone 4 so thats not really an issue.
Apart from these 2 features, are there any other features the iPod Touch lacks that I need to be aware of?
The answer depends on the nature of the apps you're developing. iPod doesn't have telephony and GPS capabilities, so if your app relies on Location Services then iPod is less than optimal (I believe Location Services are still available but only use Wi-Fi for positioning).
On the other hand, having a 4-inch device for testing is essential today, so having iPod is better than not having it.

I don't want my iOS app to run on iPhone with 3.5 screens, is it possible to restrict my app only to 4 inch displays?

I don't want my iOS app to run on iPhone with 3.5 screens, is it possible to restrict my app only to 4 inch displays or larger?
Also, is it possible not allow the app to run on a certain device? I do not want my app to run on iPhone 4 and 4S.
Rather than selecting for a specific device you should focus on what capabilities you need.
For example Bluetooth 4.0 Low Energy communications supported only in iPhone 4S+ devices . You can add the bluetooth-le key to your UIRequiredDeviceCapabilities to prevent installation on every device but the iPhone 4S+ devices.
I don't think this is a good idea. Apple wants you to develop for as many devices as possible, and if you decide not to support a certain device for no reason (e.g. "no M7 coprocessor" for all devices except the 5S), Apple will reject your app.
You cannot choose an app to only be released for 4" devices, and you have no influence on what display the iPad simulates when it runs an iPhone only app. What you want is simply impossible. This answer was found here: Limit app to running only on 4 inch devices IOS and answer credit goes to #Scott Berrevoets
NO.
You can't make an iPhone app restricted to a certain screen size. Not only is it not technically possible, it's against Apple's App Store Review Guidelines, in ways.
2.10: iPhone apps must run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
Although it's an old guideline mentioning the iPhone 3GS, the gist is the same even now: the app MUST be able to run on any screen size. There are even resizable iPhone and iPad Simulators within Xcode that you may use to take guesses on the next iPhone's screen size.
If they made guidelines so that apps can be used on the iPhone 3GS and the 4 and the 4s, said apps should also be able to run on newer phones and whatever's currently supported with the OS.
You said you noticed performance issues on older devices in a comment. This is where you need to work. How would you go about fixing said performance issues on older devices? Do what Apple did with iOS 7's release:
Reduce graphical effects and unnessicary processor-heavy effects on older devices.
If you look between devices, iPhone 4 has none of the translucency and background blurring that was advertised with iOS 7, namely with Control Center, Notification Center, Alerts, Keyboards, and Navigation Bars. This is how Apple tried to compensate with the lag of the iPhone 4 trying to run iOS 7. Same goes with the iPad 2. The iPod touch 4th generation didn't have enough RAM to run iOS 7, so it's stuck on iOS 6.1.5.
You need to do some work here too. If you have unnessicary graphical and processor-intense effects in your app that causes lag and performance issues, disable them on devices that can't run them at a smooth frame rate.

Which Apple device to get to program a iOS mobile app with Trigger.io?

I want to make an iOS app but I don't have a Mac or any device with iOS. I read I can make an iOS app on Windows and Linux with Trigger.io. The app I want to make is rather simple.
What I would need is a device with iOS to test. Which devices should I get?
I was thinking on getting an Iphone 4 and Ipad 2 as they are cheap. What do you think? Will I be able to successfully build an app if I only test in those 2 devices?
Those would be good devices to test on. You'd be missing out on an iPad with a Retina display, which would mean you'd be guessing somewhat at the appearance of icons and launch images on those screens, but the most important thing is covering the phone and tablet form factors.

Resources