Überprüfen Sie, ob das Gerät unterstützt UIFeedbackGenerator in iOS 10

In iOS 10, es gibt eine neue api, die es Entwicklern ermöglicht, zu nutzen, die taptic engine, UIFeedbackGenerator.

Während dieser api ist verfügbar in iOS 10, es funktioniert nur auf den neuen Geräten, iPhone 7 und 7 plus. Es funktioniert nicht auf älteren Geräten, wie dem 6S oder 6S Plus, auch diese haben ein taptic engine. Ich denke, die taptic engine, die auf der 7 und 7 plus ist ein anderes mehr mächtig.

Ich kann nicht scheinen zu finden ein Weg, um zu sehen, ob das Gerät unterstützt die Verwendung der neuen api. Ich würde gerne tauschen vibrieren code mit taptic-code, wo es Sinn macht.

Edit:

Hinzufügen der 3 konkrete Unterklassen für recherchezwecke:
UIImpactFeedbackGenerator
UINotificationFeedbackGenerator
UISelectionFeedbackGenerator

Edit 2:

Ich habe eine Theorie, aber keine iPhone-7-Gerät, um es zu testen, so dass, wenn Sie eine haben, give it a shot. UIFeedbackGenerator hat einen aufgerufenen Methoden prepare(). Beim drucken aus einer Instanz von UIImpactFeedbackGenerator, bemerkte ich, dass es gedruckt wird eine Eigenschaft mit dem Namen "vorbereitet", die zeigen, 0. Aufrufen von prepare() im simulator oder auf dem iPhone 6S und drucken Sie dann aus der Instanz zeigt immer noch bereit, als 0. Kann jemand, der Aufruf von prepare() für eine Instanz von UIImpactFeedbackGenerator von einem iPhone7 und drucken Sie dann die Instanz auf die Konsole, um zu sehen, wenn man bereit ist, auf 1 gesetzt? Dieser Wert ist nicht ausgesetzt, aber es kann ein Weg, um diese Informationen zu bekommen w/o Verwendung von privaten apis.

  • Nach dem, was ich gelesen habe, brauchen Sie nicht zu überprüfen, ob das Gerät unterstützt die folgenden APIs. Aufrufen wird leise wenn Sie aufgerufen wird, auch auf älteren Geräten.
  • Ich muss schauen für meine eigenen Zwecke. Ich bin Umschaltung zwischen ein vibrieren und ein taptic feedback, ich möchte nicht beide spielen in der gleichen Zeit auf Geräten, die es unterstützen.
  • Wir fallen zurück auf standard "- Gerät vibration", wenn es nicht zur Verfügung, als dies bereits in früheren OS-Versionen und auch auf älterer hardware. Müssen wissen, ob es möglich ist, zu tun, die haptische Weise oder nicht.
  • können Sie einen link zu Google docs darüber. Ich habe tatsächlich versucht, und war nicht immer eine Schwingung.
  • Wie bereits erwähnt, muss ich auch wissen, ob dies möglich ist. Jemand erwähnte, dass UIDevice hat einige flags auf, dass es vielleicht sein könnte, geprüft werden, aber das ist keine öffentliche API.
  • Wenn "edit 2" für Sie funktioniert, bitte nach einer anderen Lösung unter.

InformationsquelleAutor Kris Gellci | 2016-09-19
Schreibe einen Kommentar