Как решить ошибку GPS в Xcode 4.1 (LION)?

Мой проект отлично работал на симуляторе + устройстве,
но теперь, после обновления до lion os и xcode 4.1, я получаю эту ошибку, когда gps активен!

server did not accept client registration 68

Это приложение на основе GPS, и я нервничаю, чтобы не отлаживать приложение в симуляторе!

Есть идеи решить эту проблему?


ОБНОВЛЕНИЕ: Gps на Simulator не работает также на Xcode 3.2.6 + LION.


РЕДАКТИРОВАТЬ: ответ Apple на трекер ошибок:

После дальнейшего расследования было установлено, что это известная проблема, которая в настоящее время изучается инженерами. Эта проблема была зарегистрирована в нашей базе данных ошибок под исходным идентификатором ошибки №. Спасибо за отправку этого отчета об ошибке. Мы искренне ценим вашу помощь в обнаружении и локализации ошибок.


person elp    schedule 22.07.2011    source источник
comment
Такая же проблема, код ошибки и все такое. Похоже, что у Lion есть новые настройки служб определения местоположения в настройках безопасности и конфиденциальности на вкладке «Конфиденциальность», а iOS Simulator вообще не отображается в списке приложений. Кажется, также нет способа добавить его вручную.   -  person Tim    schedule 22.07.2011
comment
Они работают в iOS Simulator 5.0.   -  person Taras Kalapun    schedule 26.07.2011
comment
Я рекомендую вам сообщить об ошибке в Apple.   -  person Oscar Del Ben    schedule 27.07.2011


Ответы (4)


Xcode 4.2 решил эту проблему, добавив пользовательскую позицию GPS!

Файл представляет собой XML-файл, подобный этому:

<?xml version="1.0"?>
<gpx version="1.1" creator="Xcode"> 
  <wpt lat="45,49939" lon="9,12114">
    <name>Milano</name>
  </wpt>
</gpx>

вы можете добавить этот файл в свой проект или New-> File-> GPX.

Пока вы запускаете приложение, активируйте консоль и выберите свой файл пользовательской позиции:

введите описание изображения здесь

это все.
наслаждайтесь.

person elp    schedule 07.11.2011
comment
Это работает, только если вы отлаживаете iOS 5. Если вы используете симулятор 4.3, значок loc отсутствует. - person smparkes; 19.11.2011
comment
Вау, мне очень давно было интересно, как сделать этот файл! - person Martin; 21.05.2012

С форума Big Nerd Ranch:

@implementation CLLocationManager (TemporaryHack)
- (void)hackLocationFix {
    CLLocation *location = [[CLLocation alloc] initWithLatitude:42 longitude:-50];
    [[self delegate] locationManager:self didUpdateToLocation:location fromLocation:nil];     
}
- (void)hackHeadingFix {
    [[self delegate] locationManager:self didUpdateHeading:(id)@"That way.."];
}
- (void)startUpdatingLocation {
    [self performSelector:@selector(hackLocationFix) withObject:nil afterDelay:0.1];
}
- (void)startUpdatingHeading {
    [self performSelector:@selector(hackHeadingFix) withObject:nil afterDelay:0.1];
}
@end
person Vaibhav Garg    schedule 31.08.2011
comment
Как обходной путь идеален, но, к сожалению, не решает проблему с яблоком! - person elp; 31.08.2011
comment
согласованный. есть идеи, как взломать делегат заголовка? нет возможности создать экземпляр CLHeading и заполнить его .. - person Vaibhav Garg; 01.09.2011

Я столкнулся с той же проблемой и, ища решение, я, по крайней мере, нашел обходной путь: Тестирование CoreLocation на iPhone Simulator. На самом деле это не помогает, но в моем случае мне все равно нужно было фиктивное местоположение.

Чтобы он заработал, просто скопируйте связанный код в файл заголовка и разместите ссылку под вашим

#import <CoreLocation/CoreLocation.h>

Нравится:

#import <CoreLocation/CoreLocation.h>
#import "CoreLocation_Sim.h" 
person John Doe    schedule 27.07.2011
comment
Как обходной путь идеален, но, к сожалению, не решает проблему с яблоком! - person elp; 28.07.2011

См. http://pastebin.com/7hvFiXCg для получения несколько усовершенствованной версии кода BNR. Среди прочего, он включает поддержку CLHeading. Наслаждаться!

person Joe D'Andrea    schedule 15.09.2011