2012-08-08 159 views
0

我有一個應用程序在後臺和前臺Mapkit中使用CLLocationManager來顯示用戶位置。我沒有激活BackgroundModes。因此,如果我的應用在後臺進入,我會停止使用[mapview setShowsUserLocation:NO]顯示用戶位置。然後在appDelegate中啓動LocationManager,並使用[locationManager startUpdatingLocation]和[locationManager stopUpdatingLocation](此時不用擔心電池耗盡)每隔30秒停止一次以獲取用戶在Background中的位置。因此可以說locationManager是5秒開啓和25秒關閉。這25秒位置服務指示器應該離開,對嗎?但事實並非如此。即使我沒有告訴LocationManager開始,指示器也一直存在。殺死應用程序並沒有幫助,只能在設置中關閉位置服務。但是如果我把它重新打開,那麼指標將一直存在。Locationservices即使在應用程序被殺時也不會停止

我嘗試在不同的崗位,即使在這些的一切: Locationservice Indicator stays "on" Location services don't stop when application is terminated

我永遠不會叫的LocationManager =零或將其釋放。 太瘋狂了...大家可以幫我嗎?


更新:所以這讓我真的很瘋狂。自從幾天以來,這一切都陷入了僵局。只在我真正的iPhone上進行測試。現在我用iPad和iPhone模擬器嘗試了它,並且在兩臺設備上都如我所願:5秒指示燈點亮,25秒指示燈熄滅,應用程序處於後臺。那麼這是我的真實手機上的錯誤還是有人有什麼建議?我有5.1.1和越獄,但這不應該影響它!?

感謝所有幫助:)

+0

有沒有其他的東西可以導致這個位置指示器,當應用程序在後臺?因爲我在整個Project中搜索了其他LocationManagers,但我只在AppDelegate中使用它。沒有更多的想法,哪裏的錯誤是:-( – mojo 2012-08-08 06:01:20

+0

沒有人?問題依然存在!目前沒有其他設備只能測試我的iPhone ... – mojo 2012-08-14 04:28:55

回答

0

好,我只是想通了。 This Post幫了我。

「從你的iOS設置中選擇常規|重置|重置位置警告,這將重置所有應用程序的警告,這意味着下次啓動需要位置的應用程序時,iOS會提示您位置權限對話框,從操作表中選擇「重置警告」。

我把它調用了幾次,之後它按照我的預期工作(因爲它一直在模擬器中工作):-)!現在我可以考慮耗盡電池等...