我正在开发一个有需求的iOS应用程序,因此我必须以一秒的间隔将设备位置更新到我们的服务器。
我已将'CLLocationManager'的'allowsBackgroundLocationUpdates'属性设置为'YES'。我还将位置服务权限请求模式设置为“requestAlwaysAuthorization”。 (我还在我所需的背景模式功能中设置了'LocationUpdates'。)
因此,即使我的应用程序放在后台,应用程序仍然处于唤醒状态。即;即使我的应用程序在后台,我也可以进行API调用/发送套接字消息。
我知道即使对于没有启用后台模式的应用程序,应用程序仍会在后台保持唤醒状态,持续时间约为10秒或更长时间,具体取决于电池和其他变量。
当我进行测试时,应用程序很容易保持清醒2-3小时,这足以满足我的要求。
那么,我应该依赖我的应用程序保持清醒还是需要创建一个'BackgroundTask'来更新服务器的位置?
感谢。
PS:我知道上述方法电池效率不高,但每秒更新都是客户要求的。