当用户按下主页按钮时,我正在使用“位置”UIBackgroundMode 接收 GPS 背景更新。因此,如果应用程序在一夜之间处于后台模式,那么第二天早上电池就会一直没电。我已经告诉 locationManager 停止更新位置,但没有效果。
我了解 Apple 不希望开发人员使用退出 - 事实上,除了将其带到后台之外,它似乎对应用程序几乎没有影响 - 但如果用户不结束,我不能让电池耗尽应用程序。
有什么建议么?
当用户按下主页按钮时,我正在使用“位置”UIBackgroundMode 接收 GPS 背景更新。因此,如果应用程序在一夜之间处于后台模式,那么第二天早上电池就会一直没电。我已经告诉 locationManager 停止更新位置,但没有效果。
我了解 Apple 不希望开发人员使用退出 - 事实上,除了将其带到后台之外,它似乎对应用程序几乎没有影响 - 但如果用户不结束,我不能让电池耗尽应用程序。
有什么建议么?
您可以使用计时器和/或后台任务,它会在设定的空闲时间后运行,然后尝试关闭 GPS。因此,您仍然可以在应用程序的后台进行位置跟踪,但在 10-20 分钟后,它会关闭。
也许您可以注册一个本地通知,通知用户他们应该打开应用程序以停止位置跟踪?当然这不是很优雅,看来苹果应该允许开发者在指定的时间内注册位置更新,也许你可以为此提交一个功能请求。我认为 Loopt 监控 24 小时然后退出,也许你可以研究一下他们是如何让它在 24 小时后停止的。我希望我能提供更多帮助,但我根本没有弄乱位置框架。