我正在开发一个应用程序,它应该能够在应用程序处于后台时收集位置数据。
为此,我做了以下事情:
我已经
NSLocationAlwaysUsageDescription
在应用程序中设置了密钥Info.plist
并分配了适当的字符串值。- 我已经配置了一个
CLLocationManager
这样的实例:locationManager.activityType = .Fitness
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.pausesLocationUpdatesAutomatically = false
- 在开始我调用的位置收集之前
locationManager.requestAlwaysAuthorization()
,我有适当的委托回调来处理任何错误。 - 最后,我打电话给
locationManager.startUpdatingLocation()
在模拟器上运行应用程序时,我会打印出位置更新,并且应用程序的徽章也随着收集的位置数量而更新,但是当在实际设备上运行应用程序时,在后台发送应用程序后,应用程序很快就会停止处理位置更新(我知道这是因为徽章停止更新)。
我是否缺少某种特定于设备的配置?