iOS 后台位置跟踪在测试设备上失败
Posted
技术标签:
【中文标题】iOS 后台位置跟踪在测试设备上失败【英文标题】:iOS Background location tracking fails on test devices 【发布时间】:2015-09-16 03:05:46 【问题描述】:基于此example application 而这个 *** 帖子:Periodic ios background location updates,我已经设法为定期后台位置跟踪创建了一个工作实现。
在设备上一切正常,我从 Xcode 安装应用程序,但对于我通过 crashlytics 发送应用程序的每个测试人员,应用程序仍然在后台超时。
它是否与调试/发布模式或配置文件有任何关系?
【问题讨论】:
你使用什么超时? 180 秒? 【参考方案1】:您必须使用 applicationDidEnterBackground 方法在后台模式下获取更新位置。我已经从 github 下载了你的源代码,这里没有在下面的方法中实现:
- (void)applicationDidEnterBackground:(UIApplication *)application
你必须像这样使用:
- (void)applicationDidEnterBackground:(UIApplication *)application
[self.shareModel.anotherLocationManager stopMonitoringSignificantLocationChanges];
if(IS_OS_8_OR_LATER)
[self.shareModel.anotherLocationManager requestAlwaysAuthorization];
[self.shareModel.anotherLocationManager startMonitoringSignificantLocationChanges];
更多详情可以参考以下链接: http://mobileoop.com/getting-location-updates-for-ios-7-and-8-when-the-app-is-killedterminatedsuspended
【讨论】:
【参考方案2】:您好,您是否在 Appdelegate 中尝试过以下操作?
- (void)applicationWillResignActive:(UIApplication *)application
[locationManager startUpdatingLocation];
//`locationManager` is object of `CLLocationManager`
【讨论】:
我的朋友也有同样的问题。所以他在 appdelegate 中尝试了这个,现在应用可以正常工作了以上是关于iOS 后台位置跟踪在测试设备上失败的主要内容,如果未能解决你的问题,请参考以下文章