2014-01-10 2 views
6

Ich schaffe Standort-basierte Anwendung, ich bin der Umsetzung Delegatmethode von CLLocationManager,Überprüfen, ob der Standort-Manager in iOS ausgeführt wird oder nicht?

ich weiß, gibt es zwei Methoden zum Starten und Standort Methoden zu stoppen sind:

[locationManger startUpdatingLocation]; 
[locationManger stopUpdatingLocation]; 

, aber ich möchte überprüfen ist, Aufnahmeleiter ist bereits gestartet? ist es für diese wie jede Methode, es

isLocationManagerRunning

wenn Locationmanager nicht läuft starten ich muss.

Ich möchte nicht BOOL in Delegate-Methode für die Überprüfung setzen.

Antwort

10

Sie müssen nicht überprüfen, ob es läuft oder nicht, wenn Sie nicht sicher sind, rufen Sie einfach startUpdatingLocation auf Ihrem Standortmanager.

Wenn es nicht ausgeführt wird, wird es gestartet, wenn es ausgeführt wird, entsteht kein Overhead, um es erneut zu starten. Wie der documentation sagt:

Aufruf dieser Methode mehrmals hintereinander führt nicht automatisch in neue Ereignisse erzeugt werden. Der Aufruf von stopUpdatingLocation zwischendurch bewirkt jedoch, dass beim nächsten Aufruf dieser Methode ein neues initiales Ereignis gesendet wird.

+0

Oh Danke Abizerm, Vielen Dank für die Dokumentation. Jetzt habe ich keine Sorgen über Starting Location Manager – Optimistic

Verwandte Themen