2010-07-12 5 views
8

J'essaye simplement de NSLog la sortie du nouveau gyroscope de l'iPhone 4. Mais après avoir lu la documentation et suivi leur exemple de code, je reçois cette erreur.CMMotionManager et le Gyroscope sur iPhone 4

ERROR,Time,300635803.946,Function,"CLLoggingSetFile",could not open locations log /var/mobile/Library/Caches/CoreMotion/CoreMotion.log 

Même si je viens de créer mon objet MotionManager avec [[CMMotionManager alloc] init]; seul et aucun autre code, je reçois toujours l'erreur.

Voici mon fichier .h.

#import <UIKit/UIKit.h> 
#import <CoreMotion/CoreMotion.h> 

@interface GyroTest0ViewController : UIViewController { 
    CMMotionManager *motionManager; 
    NSOperationQueue *opQ; 
} 

@end 

Et voici mon fichier .m. Toute aide et/ou code source pour simplement enregistrer les données du gyroscope iPhone 4 serait très appréciée. Merci beaucoup!

+0

C'est un bug qui n'a aucun effet sur le fonctionnement de l'application. – twerdster

+1

Après la sortie d'iOS 4.2, le message d'erreur a disparu. Je pense que nous pouvons fermer ceci. – Kay

+0

J'obtiens la même erreur quand j'essaye de noter l''attitude', mais l'erreur ne semble pas causer de problème réel: le NSLog fonctionne. – RawMean

Répondre

2

Les résultats concernant cette question? Je reçois la même erreur même lorsque j'utilise le code de démonstration de la théière WWDC. J'ai déposé un rapport de bogue (8382659). Par ailleurs, j'ai la même erreur quand j'utilise la méthode push décrite par Joshua Weinberg.

Mise à jour: Apple a confirmé le bogue, mais fait référence à un problème de duplication 8173937 que je ne trouve pas. Eh bien, espérons que cela sera corrigé dans la prochaine version.

+1

Une fois iOS 4.2 éteint, le message d'erreur a disparu. Je pense que nous pouvons fermer ceci. (Kay). –

8

Essayez ceci,

motionManager.gyroUpdateInterval = 1.0/60.0; 
    [motionManager startGyroUpdatesToQueue:[NSOperationQueue currentQueue] 
           withHandler: ^(CMGyroData *gyroData, NSError *error) 
              { 
               CMRotationRate rotate = gyroData.rotationRate; 
               NSLog(@"rotation rate = [%f, %f, %f]", rotate.x, rotate.y, rotate.z); 
              }]; 
3

Pour l'exemple de code WWDC:

  • Connexion ADC
  • Cliquez sur les vidéos de la session WWDC 2010
  • Voir dans iTunes
  • Vous y trouverez le lien pour exemples de code (230 Mo)
+0

Voici un lien vers l'exemple de code WWDC 2010: http://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?code=y&source=x&bundleID=20645 – jonsibley

Questions connexes