2011-10-21 40 views
1
[locationManager StarUpdatingLocation] 

在我的情況下不起作用。我有一個NSOBject類,我有這樣的方法。位置管理器不工作iphone應用

(void)findlocation 
{ 
locationManager = [[CLLocationManager alloc] init] ; 
locationManager.delegate = self; 
locationManager.distanceFilter = kCLDistanceFilterNone; 
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; 

[locationManager startUpdatingLocation]; 
} 

然後,我有委託方法

(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 

但是使用的NSLog語句我盤算了一下,startupdating定位方法犯規進入這個方法的LocationManager。 :(我打電話,在同一類的另一種方法的當前位置的方法,所以我會說[自currentLocation。任何幫助,將不勝感激。謝謝。

+1

你在主線程或後臺線程上運行你的'findlocation'方法嗎? –

+0

林不知道,但我認爲它的主線。在xcode的底部它說線程1,所以我假設主線程?然而,基本上我有一個表視圖控制器,它從名爲location的類調用名爲getlocationlist的方法,getlocationlist方法調用findlocation方法。我新來這個即時猜測主線程? – CodeGeek123

+1

我可以發誓我剛纔看到另一個答案,其中包括這個偉大的建議 - >如果你實現委託方法'[CLLocationManager locationManager:didFailWithError:]'是否被調用? –

回答

0
  • 順應協議CLLocationManagerDelegate在您的課堂,你有這樣的代碼。

  • 如果是這樣的話,那麼你應該可以看到這個代碼是否被在設備正常工作。我認爲你是在模擬器&運行這個CLLocationManagerDelegate不會觸發&過得好代碼心煩。

如果您正在使用模擬器,那麼默認情況下,模擬器的位置設置爲無。 請檢查。

  • 點擊模擬器
  • 檢查桌面的頂部調試菜單。
  • 前往位置子菜單
  • 檢查所選選項。如果沒有,則選擇一個自定義位置。在緯度&經度上添加值。 (例如:13.0524139,80.2480755)

如果這個工程,那麼你也很好去模擬器。

希望有幫助。