我正在创建基于位置的应用程序,我正在实现CLLocationManager的Delegate方法,
[locationManger startUpdatingLocation]; [locationManger stopUpdatingLocation];
但我想检查位置管理器是否已经运行?是否有任何方法,如,
isLocationManagerRunning
如果locationmanager没有运行,我必须启动它.
我不想将BOOL放在委托方法中进行检查.
解决方法
如果您不确定,则无需检查它是否正在运行,只需在您的位置管理器上调用startUpdatingLocation即可.
如果它没有运行,它将启动,如果它正在运行,它不会产生再次启动它的开销.正如documentation所说:
Calling this method several times in succession does not automatically result in new events being generated. Calling stopUpdatingLocation in between,however,does cause a new initial event to be sent the next time you call this method.