CLLocationManager ios アプリを作成しました。しかし、iPhone の設定の位置情報サービスにアプリが表示されません。Xcode で iOS プロジェクトの plist に特定の値を設定する必要がありますか? 前もって感謝します!
質問する
1340 次
2 に答える
2
実際に位置追跡を必要とするコードが呼び出されると、自動的に表示されるはずです (ポップアップが最初に表示されるたびに: do you allow...)
次のように呼び出してみてください:
[self.locationManager startUpdatingLocation];
そして、それはそれを行う必要があります
于 2012-06-17T05:41:42.690 に答える
0
iOS -8 では、いくつかの変更を行う必要があります。
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
if([locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]){
[locationManager requestWhenInUseAuthorization];
}else{
[locationManager startUpdatingLocation];
}
空白の値を持つ plist に 2 つの余分なキーを追加する必要があります 1)NSLocationWhenInUseUsageDescription 2)NSLocationAlwaysUsageDescription
#pragma mark - CLLocationManagerDelegate
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"didFailWithError: %@", error);
UIAlertView *errorAlert = [[UIAlertView alloc]
initWithTitle:@"Error" message:@"Failed to Get Your Location" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[errorAlert show];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog(@"didUpdateToLocation: %@", newLocation);
CLLocation *currentLocation = newLocation;
if (currentLocation != nil) {
NSString *strLat = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.longitude];
NSString *strLong = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.latitude];
}
}
于 2015-05-29T06:20:45.400 に答える