2013-06-13 1 views
2

Je suis en train de développer une application iPhone qui utilise l'orientation X et Y des CMMotionManager.Le gyroscope de l'iPhone 5 se comporte mal

Quand j'ai testé mon application sur son iPod touch et iPad J'ai eu aucun problème lorsque je place l'appareil sur une surface plane variables d'attitude X et Y à peu près égale 0.

MAIS

Quand je l'ai testé sur un iPhone 5 la variable Y était égale à environ -6 et le X environ 6 sur la même surface de niveau !!

Est-ce un bug ios? ou quelque chose ne va pas avec mon code?

Toute aide avec ceci serait grandement appréciée.

Ceci est mon code BTW:

motion = gyroscopeManager.deviceMotion; 
    NSString *x = [NSString stringWithFormat:@"%f", 180 * motion.gravity.x/M_PI]; 
NSString *y = [NSString stringWithFormat:@"%f", 180 * motion.gravity.y/M_PI]; 
+0

Ont-ils tous la même version d'iOS installée? – Kay

+0

Oui, j'ai également testé l'application sur trois iPhone 5 différents et tous ont fait la même chose – Brown2025

+0

J'ai seulement accès à un appareil, mais a connu des problèmes similaires ainsi. [Dérive l'angle de lacet après le déplacement rapide] (http://stackoverflow.com/questions/13613239/drifting-yaw-angle-after-moving-fast). J'ai déposé un rapport de bug. Ils ont essayé de le fermer, je l'ai rouvert, maintenant c'est un de ces zombies dans la base de données. Étonnamment j'ai eu mes problèmes ont été réduits en passant du gyro au contrôle basé sur la pesanteur – Kay

Répondre

0

Je trouve le problème! dans une autre section de mon code j'avais inclus une méthode qui vérifiait l'accélération des périphériques, quand j'ai supprimé cette méthode, le gyroscope se comportait normalement!