iPhone: locationManagerShouldDisplayHeadingCalibration игнорируется / ничего не делает - PullRequest
2 голосов
/ 17 марта 2012

Мой класс установлен в качестве делегата диспетчера местоположения, и журнал в этом коде печатает.

- (BOOL)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)manager {
        NSLog(@"will NOT display calibration");
        [manager performSelector:@selector(dismissHeadingCalibrationDisplay) withObject:nil afterDelay:.25]; //This should never get displayed but does for some reason

        return NO;
}

Тем не менее, калибровочная рамка ВСЕГДА отображается над приложением.Что раздражает больше, чем тот факт, что он игнорирует мою просьбу не отображать информацию, так это то, что с 5.1 калибровка кажется чрезвычайно чувствительной: всякий раз, когда телефон находится рядом с радио, компьютером или иным образом не в открытом поле, он появляется - примернокаждый раз, когда я запускаю приложение.

Это приведет моих пользователей в замешательство, хотя сейчас я думаю об удалении заголовка из моего приложения.

Кто-нибудь знает, как отключить калибровку?Это не инструмент выживания в пустыне.

Ответы [ 3 ]

4 голосов
/ 24 марта 2012

Мне кажется, я знаю, что вызывает это.Если вы используете MKMapView, и в нем используется режим отслеживания с заголовком, то у просмотра карты есть собственный менеджер местоположений, и этот диспетчер местоположений автоматически настраивается для запроса калибровки курса.Какой кошмар, потому что менеджер местоположений - это скрытая переменная, к которой нет доступа.

0 голосов
/ 04 марта 2015

не может комментировать ответ SG1, так что я сделаю это здесь:

Итак, как вы должны управлять экраном калибровки, если не можете получить доступ к переменной диспетчера местоположения в MKMapKit?Я знаю, что другие приложения делают это ... это не должно быть так сложно!

0 голосов
/ 04 января 2013

Решение для MKMapView заключается в следующем:

_mapView.userTrackingMode = MKUserTrackingModeNone;

непосредственно перед выпуском _mapView.

Это приведет к исчезновению сообщения калибровки при переходе на другие страницы.

...