I am wondering how we could check if the new iOS 10 API UIFeebackGenerator
is available on the current device. There are some more things we would need to check:
- The device needs to run iOS 10.0 or later
- The device needs to be an iPhone 7 or later
- The Haptic Engine needs to be turned on in the Settings
The first two checks can be achieved using #available(iOS 10, *)
statement and a (hacky) device-detection, but the latter one doesn't seem to be checkable.
Does someone know a solution for this? Or maybe we need to file an Apple Radar for this one. Thanks!
Based on Apple's
UIFeedbackGenerator
documentation, sounds like iOS does that for you.Even if you don't need to worry about check whether the device can do haptic feedback, you still need to ensure it's called only with iOS 10 or greater, so you could accomplish that with this:
Here's a quick summary of the various haptic feedback options available in iOS 10.