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