0

我正在寫一個使用CoreLocation一個應用程序,並出於某種原因,位置管理器隨機停止更新位置。位置管理器停止更新隨機

我確信到startUpdating方法的所有調用都在主線程中(不知道,它甚至事項)。

我已經記錄了所有的委託方法,包括didAuthorizationStatusChange,didPauseUpdatingLocation,didFailWithError並且發現沒有被調用。

4次更新後似乎停止;爲什麼會發生?

UPDATE:以startUpdatingapplicationDidFinish作品打電話,但後來在代碼的方法調用停止工作再次

-(CLLocationManager*) locationManager 
{ 
if(locationManager == nil) 
{ 
     locationManager = [[CLLocationManager alloc] init]; 
     locationManager.delegate = self; 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
     locationManager.distanceFilter = kCLDistanceFilterNone; 
} 

return locationManager; 
} 


[self.locationManager startMonitoringForRegion:self.venueRegion]; 

回答

-1

夫婦的事情。

你已經寫了一個自定義的單吸氣,除了它不是靜態的(應該是在吸氣前的+號),這似乎關閉。獲取位置管理器應該是這樣的:

CLLocationManager * myManager = [MyLocationManager sharedManager]

接着,如果這是一個 「吸氣劑」 的方法,它應該是:

- (CLLocationManager *)getLocationManager;

否則,當你打self.locationManager,你是不是要通過你的getter和觸發你正試圖在這裏打了必要的吸氣操作。

+0

那不是問題,objc中的屬性獲取訪問器setVarName和varName。我同意單身蟎蟲是錯誤的,但似乎分配一個實例沒有問題 – TMacGyver 2013-04-24 15:05:26