Может получить координаты из симулятора iPhone, но не может получить координаты с устройства iPhone

Я столкнулся с чем-то вроде загадочной ошибки (для меня). У меня есть код для определения текущего местоположения пользователя в iPhone SDK. Он отлично работает на симуляторе iPhone, но когда я пытаюсь запустить его на реальном устройстве, я получаю странную ошибку.

Вот код (я использую ASIFormDataRequest для создания запроса POST):

ASIFormDataRequest * request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"testauthor" forKey:@"author"];
[request setPostValue:[[NSNumber numberWithDouble:datum.location.coordinate.latitude] stringValue] forKey:@"latitude"];
NSLog(@"%f", datum.location.coordinate.latitude);
NSLog(@"%f", datum.location.coordinate.longitude);
[request setPostValue:[[NSNumber numberWithDouble:datum.location.coordinate.longitude] stringValue] forKey:@"longitude"];
[request setPostValue:datum.comment forKey:@"comment"];

В симуляторе NSLog регистрирует как широту, так и долготу, но на iPhone этого не происходит.

Еще более странно, когда я прохожу отладчиком на устройстве, я пытаюсь "po datum.location", я получаю

<+###, -###> +/- 223.10m (speed 0.00 mps / course -1.00) @ 2010-05-02 22:18:37 -0400

(### заменено моим местоположением), но когда я делаю "(gdb) po datum.location.coordinate", я получаю:

There is no member named coordinate.

Ребята, у вас есть идеи, почему это может произойти? Заранее спасибо за помощь!


person iPhoneARguy    schedule 03.05.2010    source источник


Ответы (1)


Поскольку po печатает объект, а CLLocationCoordinate2D не является объектом, это структура.

person Dave DeLong    schedule 03.05.2010
comment
Хм... это правда, но NSLog по-прежнему не регистрирует широту и долготу... - person iPhoneARguy; 03.05.2010