Странное поведение исправления GPS на 3g iPhone

Я написал приложение для iPhone с поддержкой GPS, которому требуется точность около 70 м. В большинстве случаев эта точность достигается через несколько секунд ожидания. Но в некоторых случаях это никогда не достигается. Затем мне нужно перезапустить iPhone и мое приложение, и исправление будет получено немедленно.

Некоторые пользователи также сказали мне, что запуск другого приложения, использующего GPS, закрытие этого приложения и повторный запуск моего приложения также устраняет проблему. Но я не уверен, что это работает, потому что я не мог проверить это сам.

Проблема возникает только на айфонах 3g, а не на 3gs.

Любая идея, что происходит или как я могу исправить это в коде, чтобы мне не приходилось перезагружать свой iPhone?

edit: Код, который я использую:

locationManager = [[CLLocationManager alloc] init];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.delegate = self;
[locationManager startUpdatingLocation];

person sliver    schedule 18.01.2010    source источник
comment
хотите опубликовать некоторый (урезанный) код?   -  person Mitch Wheat    schedule 18.01.2010
comment
редактировать: добавлен код, который я использовал для инициализации CLLocationManager   -  person sliver    schedule 18.01.2010


Ответы (1)


Я вижу такое же поведение в своем собственном приложении, ориентированном на GPS. 3G имеет тенденцию сужаться медленнее, чем 3GS. Все, что я могу понять до сих пор, это то, что GPS 3G был улучшен для 3GS.

person Joseph Beckenbach    schedule 20.02.2010
comment
Ваше замечание верное, 3GS определенно лучше. Но что я испытываю, так это то, что 3G никогда не получает исправления, даже если я жду часами. Помогает только выход из приложения, запуск карт Google, а затем перезапуск приложения или перезагрузка устройства. - person sliver; 23.02.2010