Haptic feedback on iPad Pro.

I have the latest iPad PRO model.

Yet, if I try to generate haptic feedback, I feel nothing.


  feedbackGenerator = [ [ UIImpactFeedbackGenerator alloc ] initWithStyle:UIImpactFeedbackStyleHeavy ];
  [ feedbackGenerator prepare ];


And I trigger it with:


  [ feedbackGenerator impactOccurred ];


In the debugger I see that feedbackGenerator.activationCount is always zero.


Does the latest model iPad PRO support haptic feedback?

UPDATE: It does not.


Strangely enough, it doesn't work on my iPhone 6S either.

And wikipedia has that device as listed having '3D Touch' and 'Taptic.'


Sigh... what am I doing wrong?

Answered by bram in 313694022

It's a documentation bug.


It turns out that there are two "Support levels" for haptic.

Level 1 and Level 2.


The docs do not mention this.


  UIDevice* device = [ UIDevice currentDevice ];
  NSNumber* nr = [ device valueForKey:@"_feedbackSupportLevel" ];
  NSLog( @"feedback Support level %@", nr );

This is 1 nearly 1 year old, but I think it is still valid.


No 3D touch on iPad Pro.


h ttps://www.imore.com/why-ipad-pro-doesnt-have-3d-touch


Confirmed in this more recent one:

h ttps://www.imore.com/should-you-get-ipad-pro

Apple's Taptic Engine is difficult to do on an iPad for a number of reasons, largely technical — the bigger screen presents problems in effectively generating the right haptic feel, among other issues. So until Apple conquers that, we get physical buttons on the iPad.

Thanks, I switched my test device, and am now on iPhone 6S.


Still no feedback, and activation count is zero.


There is no 'Sound/Taptic' setting on this iPhone settings menu though.


UPDATE: You need haptic feedback support level 2.

iPhone6S is feedback support level 1.


  UIDevice* device = [ UIDevice currentDevice ];
  NSNumber* nr = [ device valueForKey:@"_feedbackSupportLevel" ];
  NSLog( @"feedback Support level %@", nr );


Why is this not in the docs?

Ugh...

Some people on stackoverflow report it working on one view controller, and not on the other.


I am guessing that haptic feedback is simply not compatible with GLKViewController, which is the view controller that I am using.


What a mess, Apple.


Someone reported that a WWDC engineer recommends delaying the call with performSelector: construct.

Sigh.

>Someone reported that


Rather than relying on anecdotal evidence, and assuming you have a project that demonstrates the issue, you might consider burning a support ticket w/DTS via the Member Center to confirm.

Haptic feedback on iPad Pro.
 
 
Q