1:通过 CoreLocation.framework 获取当前位置所在的城市(适用于iOS 5以上)
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { CLGeocoder *geocoder = [[CLGeocoder alloc] init]; [geocoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) { NSLog(@"%d",placemarks.count); for (CLPlacemark *placemark in placemarks) { NSLog(@"%@ %@ %@ %@",[placemark.addressDictionary objectForKey:@"City"],[placemark.addressDictionary objectForKey:@"Country"],[placemark.addressDictionary objectForKey:@"State"],[placemark.addressDictionary objectForKey:@"SubLocality"]); } }]; [manager stopUpdatingLocation]; }
注:在通过 CLLocationManager 的委托获取具体位置数据以后,通过 CLGeocoder 来获取相关城市信息.