Я использую координаты, чтобы получить погоду, и она отлично работает. Название города отображается на UILabel. Все работает хорошо, пока я не запустил приложение на своем Iphone, и появившееся название города совершенно неверно.IOS Simulator показывает неправильные координаты
Я думал, что, может быть, симулятор все еще решает местоположение, но когда я отключу свой телефон и запустил приложение, он все еще показывает неправильный город.
Кто-нибудь знает об этой проблеме? Это симулятор, который преследует приложение, когда я запускаю его по телефону или вы думаете, что он связан с кодом?
EDIT:
Я использую Реактивная какао и CLLocationManager
- (id)init {
if (self = [super init]) {
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
_client = [[WXClient alloc] init];
[[[[RACObserve(self, currentLocation)
ignore:nil]
// Flatten and subscribe to all 3 signals when currentLocation updates
flattenMap:^(CLLocation *newLocation) {
return [RACSignal merge:@[
[self updateCurrentConditions],
[self updateDailyForecast],
[self updateHourlyForecast]
]];
}] deliverOn:RACScheduler.mainThreadScheduler]
subscribeError:^(NSError *error) {
[TSMessage showNotificationWithTitle:@"Fel" subtitle:@"Det gick inte att hämta vädret."
type:TSMessageNotificationTypeError];
}];
}
return self;
}
- (void)findCurrentLocation {
self.isFirstUpdate = YES;
[self.locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
if (self.isFirstUpdate) {
self.isFirstUpdate = NO;
return;
}
CLLocation *location = [locations lastObject];
if (location.horizontalAccuracy > 0) {
self.currentLocation = location;
[self.locationManager stopUpdatingLocation];
}
}
- (RACSignal *)updateCurrentConditions {
return [[self.client fetchCurrentConditionsForLocation:self.currentLocation.coordinate]
doNext:^(WXCondition *condition) {
self.currentCondition = condition;
}];
}
Вам нужно предоставить гораздо больше информации, прежде чем люди смогут вам помочь. Где ты? Что случилось с названием города? Где iPhone думает, что это так? Какой код вы используете для определения местоположения iPhone? Какой код вы используете для преобразования местоположения в название города? Прямо сейчас ваш вопрос сводится к тому, что «я что-то сделал, и он не работает», на который единственный ответ «Это потому, что вы сделали это неправильно». – Craig
в порядке, отредактированный и добавленный код. – Pierre
Вы также должны объяснить, что вы подразумеваете под «совершенно неправильным». Если вы находитесь в Сан-Франциско и получаете Окленд (неточный GPS), это может быть другой проблемой для вас в Синди и получения Bejing (координаты перевернуты?). – Craig