簡體   English   中英

位置更新無法在iPhone4s和iPhone5的后台模式下的iOS 7.0中運行,而iPhone處於理想狀態

[英]Location update not working in background mode iOS 7.0 in iPhone4s and iPhone5 while iPhone in ideal

我正在使用一個位置管理器服務來開發一個跟蹤應用程序,

設置期望的精度= kCLLocationAccuracyNearestTenMeters

而distanceFilter = 60.0。

我想提供背景支持。 為此我

設置應用注冊以進行位置更新,

應用程序從網絡下載內容

在我的info.plist中。 我把

[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];

此代碼在didFinishLaunchingWithOptions方法中。

我也使用此方法來調用startUpdatingLocation位置管理器方法

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

這一切都可以在iPhone 7的iOS 7中使用

但是我當時在設備中處於理想狀態時,該設備在iPhone4S和iPhone5中還有另外兩個設備,因此導航符號消失了,服務器上的位置數據也沒有更新。

當電話是理想的,當我啟動我的應用程序時,它不是在后台運行,而是從登錄屏幕啟動。

因此后台位置更新不適用於具有iOS7的iPhone5和iPhone4S。

請為此提供解決方案。

如果我沒有獲得更新的位置,我的應用程序將用於跟蹤,因此它沒有用。

您可以在AppDelegate.m中添加此方法

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
        NSLog(@"ending background task");
        [[UIApplication sharedApplication] endBackgroundTask:bgTask];
        bgTask = UIBackgroundTaskInvalid;
    }];

    timer = [NSTimer scheduledTimerWithTimeInterval:5
      target:locationManager
      selector:@selector(startUpdatingLocation)
      userInfo:nil
      repeats:YES
    ];
}

您可以通過以下鏈接獲取幫助: 從后台任務啟動iOS 7中的位置管理器

每隔5分鍾更新一次您的位置信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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