[英]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.