03-04-2019, 11:58 PM
Das ist eine interessante Frage. Ich muss gestehen, dass ich bis gerade nicht einmal wusste, dass das iPhone 6 zwei Sensoren verbaut hat.
Wir fragen die Sensordaten über die CMMotionManager API ab (https://developer.apple.com/documentatio...ionmanager) und abonnieren entsprechend für die Beschleunigungsdaten mit "startAccelerometerUpdates" die Messwerte. Leider bietet Apple keine allgemeine Sensor-API wie Android, die mehrere Sensoren gleichen Typs repräsentieren und Hersteller und Modell dazu ausgeben kann. Daher fragen wir tatsächlich "blind" nach Sensordaten und nehmen, was das iPhone uns ausgibt.
Ich vermute allerdings (Achtung, das ist rein spekulativ), dass wir die Daten vom InvenSense-Sensor erhalten. Dieser bietet nämlich auch ein Gyroskop und liefert die kompletten fusionierten Bewegungsdaten, für welche die CMMotionManager API ausgelegt ist. Ich wüsste nicht, welchen Sinn es hätte, dass CoreMotion (wozu CMMotionManager gehört) die Daten aus zwei Sensoren holt und dann selbständig fusioniert oder verschiedene Sensoren anspricht je nachdem, ob wir das Gyroskop auch abfragen oder nicht. Meine Vermutung wäre eher, dass der Bosch eine sparsamere Alternative ist, die parallel für langsamere UI-Änderungen (z.B. Bildschirmdrehung) im Hintergrund genutzt wird.
Aber wie gesagt: Das ist rein spekulativ. Ich kann nur sicher sagen, dass wir an die Daten über CMMotionManager kommen. Über den Rest verrät Apple leider nicht viel...
Wir fragen die Sensordaten über die CMMotionManager API ab (https://developer.apple.com/documentatio...ionmanager) und abonnieren entsprechend für die Beschleunigungsdaten mit "startAccelerometerUpdates" die Messwerte. Leider bietet Apple keine allgemeine Sensor-API wie Android, die mehrere Sensoren gleichen Typs repräsentieren und Hersteller und Modell dazu ausgeben kann. Daher fragen wir tatsächlich "blind" nach Sensordaten und nehmen, was das iPhone uns ausgibt.
Ich vermute allerdings (Achtung, das ist rein spekulativ), dass wir die Daten vom InvenSense-Sensor erhalten. Dieser bietet nämlich auch ein Gyroskop und liefert die kompletten fusionierten Bewegungsdaten, für welche die CMMotionManager API ausgelegt ist. Ich wüsste nicht, welchen Sinn es hätte, dass CoreMotion (wozu CMMotionManager gehört) die Daten aus zwei Sensoren holt und dann selbständig fusioniert oder verschiedene Sensoren anspricht je nachdem, ob wir das Gyroskop auch abfragen oder nicht. Meine Vermutung wäre eher, dass der Bosch eine sparsamere Alternative ist, die parallel für langsamere UI-Änderungen (z.B. Bildschirmdrehung) im Hintergrund genutzt wird.
Aber wie gesagt: Das ist rein spekulativ. Ich kann nur sicher sagen, dass wir an die Daten über CMMotionManager kommen. Über den Rest verrät Apple leider nicht viel...