【问题标题】:iOS Background location tracking fails on test devicesiOS 后台位置跟踪在测试设备上失败
【发布时间】:2015-09-16 03:05:46
【问题描述】:

基于此example application 而这个 Stackoverflow 帖子:Periodic iOS background location updates,我已经设法为定期后台位置跟踪创建了一个工作实现。

在设备上一切正常,我从 Xcode 安装应用程序,但对于我通过 crashlytics 发送应用程序的每个测试人员,应用程序仍然在后台超时。

它是否与调试/发布模式或配置文件有任何关系?

【问题讨论】:

  • 你使用什么超时? 180 秒?

标签: ios background location


【解决方案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 中尝试了这个,现在应用可以正常工作了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2017-11-24
    • 2015-05-22
    • 2015-12-21
    • 2013-07-09
    相关资源
    最近更新 更多