2010-05-03 8 views
0

J'ai rencontré quelque chose d'un bug mystérieux (pour moi). J'ai un code pour choisir l'emplacement actuel de l'utilisateur sur le SDK de l'iPhone. Cela fonctionne bien sur le simulateur d'iPhone, mais quand j'essaie de l'exécuter sur le périphérique réel, j'obtiens une erreur bizarre.Peut obtenir des coordonnées à partir du simulateur iPhone, mais ne peut pas obtenir les coordonnées de l'appareil iPhone

Voici le code (j'utilise ASIFormDataRequest pour créer une requête POST):

ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:url]; 
[request setPostValue:@"testauthor" forKey:@"author"]; 
[request setPostValue:[[NSNumber numberWithDouble:datum.location.coordinate.latitude] stringValue] forKey:@"latitude"]; 
NSLog(@"%f", datum.location.coordinate.latitude); 
NSLog(@"%f", datum.location.coordinate.longitude); 
[request setPostValue:[[NSNumber numberWithDouble:datum.location.coordinate.longitude] stringValue] forKey:@"longitude"]; 
[request setPostValue:datum.comment forKey:@"comment"]; 

Sur le simulateur, NSLog n'enregistre à la fois la latitude et la longitude, mais sur l'iPhone, il ne fonctionne pas.

Plus étrange encore, quand je passe par le débogueur sur l'appareil, j'essaie « po datum.location », je reçois

<+###, -###> +/- 223.10m (speed 0.00 mps/course -1.00) @ 2010-05-02 22:18:37 -0400 

(### remplacé par mon emplacement) mais quand je fais " (gdb) po datum.location.coordinate » Je reçois:

There is no member named coordinate. 

gars, vous ne savez pourquoi cela pourrait se produire? Merci d'avance pour votre aide!

Répondre

1

Parce que po imprime un objet, et CLLocationCoordinate2D n'est pas un objet, c'est une structure.

+0

Hmm ... c'est vrai, mais NSLog ne semble toujours pas noter la latitude et les longitudes ... – iPhoneARguy

Questions connexes