iOS apps not registering Touch events

This is quite confusing and I’m not sure if it happened to anyone else or if there’s something wrong with my setup.

(edited) Some iOS don’t seem to register any touch events through the mouseDown, mouseDrag, etc. callbacks, although they do if you call getWindow()->getSignalTouchesBegan().

This includes the BasicApp sample and any app I create with Tinderbox. Other samples, like ArcballDemo work correctly, though. But I can’t find any difference between their project settings.

I’m running iOS 10 with Xcode 8.0 and I tried:

  • both device and simulator, debug and release
  • both cinder_master and pre-compiled Cinder v0.9.0

Same results in every case. I’d appreciate it if someone else can try with their setup, since I’m not sure what to do to debug this.

Did you call enableMultiTouch() ?

Thanks Paul, I thought I was… but then I realized the settings function wasn’t being called.

You actually need to disable multitouch in order to use the mouse signal. Wasn’t that the default state before though? Right now BasicApp does nothing on iOS if you don’t add this at the end:

CINDER_APP( BasicApp, RendererGl, [] ( App::Settings *settings ) {
    settings->setMultiTouchEnabled( false );

I assume this is intentional, as iOS more often than not is running on a touch-enabled device.