Swift SpriteKit 3D Touch und Berührungen verschoben

Ich habe kürzlich eine Version meines Spiels für interne Tests an TestFlight gesendet. Mein Freund bemerkte, dass auf seinem iPhone 6S Plus die Steuerelemente zum Aufnehmen nicht richtig funktionieren.

Die Kontrollen sind wie folgt

1) linke Bildschirmhälfte = springen

2) rechte Bildschirmhälfte = schießen

3) Schieben und halten Sie die rechte Bildschirmhälfte gedrückt = Zeitlupe starten

Nun habe ich bei der Methode zum Starten von Berührungen eine leichte Verzögerung für das Schießen. Wenn also Berührungen aufgerufen werden, wird das Schießen abgebrochen und langsam gestartet. Dies scheint das Problem bei 3D Touch-fähigen Telefonen zu verursachen.

Digging weiter in diese stieß ich auf diesen Beitrag

iOS 9 Spritekit Double Tap funktioniert nicht auf dem iPhone 6S

wobei im Grunde gesagt wird, dass auf 3D Touch-fähigen Geräten die Methode touches moved automatisch aufgerufen wird.

  On 3D Touch capable devices, touch pressure changes cause     
   touchesMoved:withEvent: to be called for all apps running on iOS   
   9.0. When running iOS 9.1, the method is called only for apps  
   linked with the iOS 9.0 (or later) SDK.

    Apps should be prepared to receive touch move events with no   
    change in the x/y coordinates. "

Dies scheint zu verstehen, warum mein Freund Probleme hat. Wenn Berührungen immer aufgerufen werden, wird die Aufnahme abgebrochen und langsam gestartet, obwohl er nicht auf dem Bildschirm rutscht.

Also meine Fragen sind

1) Kannst du 3D Touch in SpriteKit-Spielen deaktivieren?

2) Ist das ein Bug?

3) Gibt es eine andere Möglichkeit, Berührungen zu verwenden, die auf 3D Touch-Geräten korrekt verschoben wurden?

4) Alternativ kann ich Gestenerkenner verwenden, um eine Slide-and-Hold-Funktion zu simulieren, die ich derzeit in berührungsbewegten Objekten ausführe.

Danke für jede Hilfe

Antworten auf die Frage(2)

Ihre Antwort auf die Frage