![](/img/trans.png)
[英]iOS Parse upload users location with GEOpoint and Corelocation
[英]iOS 5.1 CoreLocation, location service icon not disappearing
我正在跟蹤我的應用中的用戶位置,並且當我收到第一個位置更新時,我正在停止更新。 我們的想法是只獲取用戶位置的“快照”一次,而不是實際跟蹤用戶移動。
但是在設備和模擬器上的iOS 5.1中,跟蹤開始后屏幕右上角的位置服務圖標不會消失。
在iOS 5.0上(只能在模擬器中測試),圖標會出現並按預期消失。
有誰知道可能影響iOS 5.1中CoreLocation的任何錯誤?
我發現其他人報告的內容非常相似,但是他說如果你強行殺死多任務欄中的應用程序,圖標就會被移除,我仍然存在,即使應用程序根本沒有運行也是如此。
此外(殺死應用程序后),如果我在設置中進入位置服務,我的應用程序被點亮紫色,我可以打開或關閉,切換頂部的位置圖標沒有問題。
看看這家伙: http : //bendodson.com/weblog/2012/03/14/ios-5-1-location-services-bug/
傳統方法:
[locationManager stopUpdatingLocation];
是不足夠的。 你還必須添加:
[locationManager stopMonitoringSignificantLocationChanges];
這是這個問題的副本。
我注意到它需要一段時間才能消失(大約10秒鍾)。 您可能需要停止更新位置,並在視圖消失時將委托設置為nil:
- (void)viewWillDisappear:(BOOL)animated
{
if ([self isMovingFromParentViewController]) {
// Popping the view
NSLog(@"MyViewController isMovingFromParentViewController");
[locationManager stopUpdatingLocation];
[locationManager setDelegate:nil];
}
[super viewWillDisappear:animated];
}
注意:此代碼僅適用於iOS 5,僅在視圖被關閉並返回父視圖時觸發。 相應調整。
只是旁白,但你不應該依賴你從位置經理那里得到的第一個位置,除非你已經測試了它的新穎性。 您可能會獲得舊的緩存位置。
我們的想法是只獲取用戶位置的“快照”一次,而不是實際跟蹤用戶移動。
也只想獲得快照。 打電話后
[locationManager stopUpdatingLocation];
在iPhone4S - iOS 5.1.1上,導航圖標不會立即消失,但會延遲大約10秒。 此外,在調用stopUpdatingLocation后,我有時會收到另一個位置更新。
將位置管理器的委托設置為nil不是必需的,以便禁用導航圖標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.