簡體   English   中英

iOS 5.1 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM