2012-12-20 42 views
-2

在這裏,我們必須通過使用位置管理器更新當前位置,並且它在模擬器上正確更新,但它不在設備上更新僅重複4或5次。爲什麼位置不是經常更新,敬請熟知我解決這個問題CLLocationManager只在模擬器上更新不在設備上

這裏我用的代碼見下面

CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 
    locationManager.delegate = self; 
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation; 
    [locationManager startUpdatingLocation]; 

委託方法:

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

    NSLog(@"newLocation: %@",newLocation); 
} 

這是委託方法是調用了四分五次。

+1

多少經常做,除了你的位置要更新這個問題呢? –

+0

在模擬器didUpdateToLocation委託方法重複調用,但在設備中,只有當應用程序啓動它更新4或5次。之後不更新可以幫助我 – dineshprasanna

回答

0

這裏我解決了使用該委託的方法

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateLocations:(NSArray *)locations{ 
} 
0

如果您正在使用定位精度爲「kCLLocationAccuracyBestForNavigation」,您的設備應保持插入。

更好地將它設置爲「kCLLocationAccuracyBest」。也搬到顯著距離命中委託。最初它會打4-5次找到你。一旦你的位置是確定的,它會調用該委託時會出現在你的位置變化。

所以,在委託寫在文件的東西存儲在文件目錄中追加模式。日誌緯度/經度和時間細節進去。現在移動一段距離。

加入移動,並從文件目錄中的文件。它必須記錄所需的詳細信息。

相關問題