Я разрабатываю приложение, которое использует GPS.Мне нужна высокая точность, поэтому я использовал kCLLocationAccuracyBestForNavigation для желаемой точности.когда я запускаю приложение, следующий метод вызывается, как и ожидалось.
(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
в рамках этого метода я проверяю, достаточно ли высока точность для следующего сегмента кода:
if (newLocation.horizontalAccuracy <= locationManager.desiredAccuracy) {
...
}
, но этот блок if никогда не активируется, как newLocation.horizontAccuracyне опускается ниже 17,00 метров.Когда я запускал этот код на iPhone 3GS OS 3.1.2, все работало нормально.но так как я обновил до 4.0.1, кажется, что есть проблема с точностью.Он даже не работает с kCLLocationAccuracyNearestTenMeters, который также работал гладко и стабильно на iOs 3.1.2.
У вас есть какие-нибудь подсказки для меня, что происходит и как я могу решить мою проблему?