2016-08-02 15 views
1

私は多くのチュートリアルに従ってきましたが、うまくいきませんでした。座標は常に0.000000、0.000000を出力します。私はボタンでこれを持って目的c gpsの座標が正しく動作しない

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

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

} 

:ここ

は場所のための私のコードです

locationManager stopUpdatingLocation]; 
[self getLocation]; 

そして私はのviewDidLoadでこれを持っている:

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

私はxcodeのiosシミュレータで偽の場所を使用するので、0.000000を出力しないでください。あなたがのviewDidLoadで、この行を追加する必要があり

答えて

0

ロケーションサービスを使用するには、認証を要求する必要があります。

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

:問題が解決しない場合は

[locationManager requestAlwaysAuthorization]; 

、私はあなたがシミュレータで実行しているからだと言うに傾いています。たとえ偽の場所であっても、ある時点で私を悩ませていました。あなたはデバイスで実行できますか?

編集:Info.plistのためにこれを追加してみてください:

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

現在、デバイス上で実行することはできません。しかし、私はこれを撃つだろう。 –

+0

それはうまくいきませんでした。承認ポップアップは表示されませんでした。 –

+0

編集@GeorgeYoung –

関連する問題