2010-05-03 55 views
0

我遇到了一些神祕的bug(對我來說)。我有一些代碼在iPhone SDK上挑選用戶的當前位置。它在iPhone模擬器上工作正常,但是當我嘗試在實際設備上運行它時,出現奇怪的錯誤。可以從iPhone模擬器獲得座標,但無法從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上,它沒有。

更奇怪的是,當我通過與設備上的調試器,我嘗試「寶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. 

你們有什麼想法,爲什麼會發生這種情況?在此先感謝您的幫助!

回答

1

因爲po打印一個對象,並且CLLocationCoordinate2D不是一個對象,它是一個結構。

+0

嗯......這是真的,但NSLog仍然沒有記錄緯度和經度... – iPhoneARguy 2010-05-03 03:31:02