繁体   English   中英

ios 9 app不在后台报告位置

[英]ios 9 app not reporting location in background

我正在编写(在Swift中)一个需要位置更新的iOS 9应用程序,包括后台模式。 问题是我只在前台获得位置更新。 我想我已经做好了一切:

在info.plist中:

  • 为NSLocationAlwaysUsageDescription指定了值。

  • 为NSLocationUsageDescription指定了值。

  • 为NSLocationWhenInUseUsageDescription指定了值。

  • 包含在UIBackgroundModes中的“位置”。

  • 在UIRequiredDeviceCapabilities中包含“gps”和“location-services”

  • 启动了位置管理器,如下所示:

     let locationManager = CLLocationManager() locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters locationManager.distanceFilter = 250.0 locationManager.allowsBackgroundLocationUpdates = true locationManager.startUpdatingLocation() 
  • 我还验证了locationManager.pausesLocationUpdatesAutomatically是false。

当应用程序不在前台时,我没有获得位置更新。 我唯一一次获得位置更新是因为我将应用程序带到前台,即便如此,也不是所有时间。

知道出了什么问题吗? 或者我的期望不正确?

你是如何将应用程序发送到后台的? 如果您滑动以杀死,那么您的应用将不会自动重新启动以接收位置事件。 我在你的代码中没有看到它,你是否调用了requestAlwaysAuthorization? 您可能还想实现LocationManager:didFailWithError,以查看是否能为您提供任何想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM