2016-08-02 1 views
1

J'ai suivi de nombreux tutoriels mais aucun n'a fonctionné. La coordonnée renvoie toujours 0.000000, 0.000000.Les coordonnées de l'objectif cps ne fonctionnent pas

Voici mon code pour l'emplacement:

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateLocations:(NSArray *)locations 
{ 
    currentLocation = (CLLocation *)[locations lastObject]; 

} 
-(void)getLocation { 
    longitude = floorf(currentLocation.coordinate.longitude * 10000)/10000; 

} 

J'ai cela dans un bouton:

locationManager stopUpdatingLocation]; 
[self getLocation]; 

Et je cela dans le viewDidLoad:

locationManager = [[CLLocationManager alloc] init]; 
locationManager.delegate = self; 
[locationManager startUpdatingLocation]; 

Je suis en utilisant un faux emplacement dans le simulateur ios dans xcode, il ne devrait pas afficher 0.000000.

Répondre

0

Vous devez demander l'autorisation d'utiliser les services de localisation.

if([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { 
    [self.locationManager requestAlwaysAuthorization]; 
} 
0

Vous devrez peut-être ajouter cette ligne dans viewDidLoad:

[locationManager requestAlwaysAuthorization]; 

Si cela ne fonctionne pas, je suis enclin à dire que c'est parce que vous êtes en cours d'exécution dans le simulateur. Même le faux emplacement me bousculait à un moment donné. Pouvez-vous courir sur un appareil?

Edit: essayez d'ajouter ceci à Info.plist:

<key>NSLocationAlwaysUsageDescription</key> 
<string>This application requires location services to work</string> 
+0

Je ne peux pas courir sur un appareil à ce moment. Mais je vais donner un coup de feu. –

+0

Ya ça n'a pas fonctionné. Il n'a pas montré une autorisation pop up. –

+0

voir edit @GeorgeYoung –