気象データを表示するためにユーザーの場所にアクセスしようとしています。私はこのコードを使用しています:許可後にロケーションデータを取得できません。
if(self.locationManager == nil) {
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
}
// Check for iOS 8. Without this guard the code will crash with "unknown selector" on iOS 7.
if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
NSLog (@"ENTERING requestWhenInUseAuthorization",nil);
[self.locationManager requestAlwaysAuthorization];
}
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[self.locationManager startUpdatingLocation];
CLLocation *location = [self.locationManager location];
[self.locationManager stopUpdatingLocation];
NSString *latitude = [[NSNumber numberWithDouble:location.coordinate.latitude] stringValue];
NSString *longitude = [[NSNumber numberWithDouble:location.coordinate.longitude] stringValue];
私は現在の場所を使用するための許可を求めるポップアップを取得します。私は受け入れるが、私は場所を取得していない、その値はnil
です。私が設定に行くと、データにアクセスする権限があると言いますが、アプリケーションを閉じてもう一度開くとデータを取得できません。 現時点で場所を取得する方法はありますか?私は間違って何かしていますか?
'CLLocationManagerDelegate'を定義し、(locationManager:didUpdateLocations:'メソッドで)位置が更新されるまで待つ必要があります。このメソッドは、より正確に1回ずつ複数回呼び出されます。 **あなたの 'CLLocation'インスタンスを取得したいと思っています。 –