iphone Simulator способен отображать курс и широту, долготу? - PullRequest
7 голосов
/ 03 августа 2011

Я использую iphone simulator 4.2 и пытаюсь отобразить или NSLog Заголовок и другие атрибуты служб определения местоположения, например Широта, долгота, высота, горизонтальная точность, вертикальная точность, скорость. но он не показывает правильные параметры, а Incase of Heading фактически не запускает событие. как его выполнить CLLocation код

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation
{
    [self.delegate locationUpdate:newLocation];
}

и не выполняется CLHeading код

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
    [self.delegate headingUpdate:newHeading];
}

и когда я ставлю точку останова на оба этих кода, она никогда не касается кода CLHeading . Я обновляю местоположение и направляюсь в init.

- (id) init{
if (self!=nil) {
    self.locationManager  = [[[CLLocationManager alloc] init] autorelease];
    self.locationManager.delegate = self;
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    self.locationManager.distanceFilter = kCLDistanceFilterNone;
    [self.locationManager startUpdatingLocation];
    [self.locationManager startUpdatingHeading];
}
return self;
}

Проблема в том, что я не знаю, что происходит из-за симулятора или есть какая-то проблема в коде?

, пожалуйста, помогите.

Ответы [ 3 ]

15 голосов
/ 03 августа 2011

CLLocationManager требует дополнительного оборудования и, следовательно, не будет работать на симуляторе.Однако вы можете проверить, что, используя метод, описанный в этот другой вопрос SO .

Из документации :

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

3 голосов
/ 30 августа 2011

Этот ответ может быть обновлен для всех, кто использует Xcode 4.2. Он все еще находится в бета-статусе, но если вы платный разработчик, у вас будет доступ к нему. Кроме того, если вы платный разработчик, есть несколько хороших видео с WWDC 2011, в которых объясняется, как использовать симулятор для симуляции местоположения.

WWDC 2011

Посмотрите, что нового в базовой локации и протестируйте свое приложение, ориентированное на местоположение, не покидая своего кресла

** Примечание. Обращаем ваше внимание, что только платные разработчики имеют доступ к этим видео

2 голосов
/ 24 декабря 2011

Похоже, что поведение по умолчанию. Он запускает Location, но не заголовок.

Я не тестировал свое приложение на реальных аппаратных средствах, чтобы подтвердить мои ...

Энтони Деса

...