有时没有来自location-service ios的更新

时间:2016-09-19 11:35:18

标签: ios objective-c gps cllocationmanager

我们的应用与健身相关。它在后台使用位置服务。用户在应用程序处于前台时单击按钮,然后触发startUpdatingLocation。我们最初将准确度设置为kCLLocationAccuracyNearestTenMeters(force GPS)和距离过滤器为1500.之后,用户锁定屏幕并将移动设备放在口袋中。

问题在于,对于5-10%的ios用户来说,这并不起作用(其余部分完全适用)。我们已经在位置更新事件发生时记录,我们可以看到它没有触发。当用户点击前景中的按钮时,我们还设置了一个计时器,以便在x分钟后触发,并且计时器也不会触发(对于它不起作用的用户)。

我们无法在内部重现此问题,因此难以进行良好的故障排除。

我知道如果用户在前台使用其他应用程序,操作系统可以终止应用程序,但据我所知,它可能会调用applicationWillTerminate,而我们还没有看到来自该事件的任何日志被调用。但是,操作系统可能会决定终止我们的应用程序。如果是这样的话,我们可以做些什么呢?我们的应用程序是用户想要的,并启动另一个应用程序(例如拍照)并不意味着用户希望我们的应用程序停止工作。所以现在的问题是,如果它与该操作系统有关,我们可以做什么?

注意:

  • pausesLocationUpdatesAutomatically is NO
  • Background App Refresh已启用
  • 我们尚未在UIRequiredDeviceCapabilities(plist)中启用gps或位置服务,因为我们的应用可以通过两种方式使用。有无GPS。
  • 当用户点击前台的按钮时,我们要求"始终开启" - 设置启用。
  • 我们已确认backgroundTimeRemaining属性返回最大值(表示允许该应用无限期在后台运行)
  • 各种ios版本8.x和9.x都会出现问题。

0 个答案:

没有答案