ios-如何仅在位置管理器运行时保持应用程序在后台运行

ios-如何仅在位置管理器运行时保持应用程序在后台运行,ios,background,cllocationmanager,Ios,Background,Cllocationmanager,我正在使用位置背景模式,但这会使应用程序永远运行。我想做的是当位置管理器处于活动状态(用户按下开始保存我的位置)并且应用程序进入后台模式时,应用程序必须保持运行(已实现)。但是,如果用户没有按下按钮开始保存位置,或者他按下了“停止保存我的位置”按钮,那么当应用程序在后台时,它可能会被杀死或挂起。 现在,应用程序正在后台运行,即使它没有工作要做。它会耗尽电池。只需告诉你的CLLocationManager实例stopUpdateLocation我会,但应用程序会继续运行,“停止保存我的位置”按钮会

我正在使用位置背景模式,但这会使应用程序永远运行。我想做的是当位置管理器处于活动状态(用户按下开始保存我的位置)并且应用程序进入后台模式时,应用程序必须保持运行(已实现)。但是,如果用户没有按下按钮开始保存位置,或者他按下了“停止保存我的位置”按钮,那么当应用程序在后台时,它可能会被杀死或挂起。
现在,应用程序正在后台运行,即使它没有工作要做。它会耗尽电池。

只需告诉你的
CLLocationManager
实例
stopUpdateLocation
我会,但应用程序会继续运行,“停止保存我的位置”按钮会调用stopUpdateLocation,当到达目的地时,也会调用stopUpdateLocation。但是应用程序一直在运行“应用程序一直在运行”是什么意思?它仍在向您的位置代理方法传递调用?不,StopUpdateLocation停止位置管理器报告位置,但应用程序保持活动状态,它不会被ios杀死或挂起,它会消耗电池,当我点击应用程序图标时,它会从我离开的地方恢复,并且不会从一开始就再次启动,因此它不会运行任何操作ios会将你的应用程序保留在内存中,直到另一个应用程序需要该内存。它是挂起的,并且不消耗电池或CPU,除非您正在积极地执行工作。此外,在Xcode中的调试器下运行的应用程序与正常启动的应用程序的处理方式也不同。