2016-12-14 4 views
1

Wir haben den Location Manager des iOS zur Erkennung von Beacons eingesetzt. Dies bedeutet, dass wir eine Region überwachen und das didEnterRegion-Ereignis erhalten, wenn wir in eine Region eintreten. Jetzt ist es schwierig, unsere Beacon-Installation zu testen, da wir mindestens 30 Sekunden auf das didExitRegion-Ereignis warten müssen. Manchmal geht es länger als die 30 Sekunden ...iOS/Beacon: Reset didEnterRegion möglich?

Es wäre sehr hilfreich, wenn wir den Eintritt in eine Region absagen können. Um sicher zu sein, dass wir draußen sind.

Ist das möglich? Gibt es eine Möglichkeit, das zu tun?

Dank Hans

Antwort

0

Sie können einfach die Überwachung für ein Leuchtfeuer Region stoppen, dann sofort Überwachung neu starten. Nach meiner Erfahrung wird dies einen neuen didEnterRegion: Rückruf senden, wenn ein Beacon, der zu der Region passt, als nächstes erkannt wird, typischerweise innerhalb einer Sekunde oder so.

locationManager.stopMonitoring(for: region) 
locationManager.startMonitoring(for: region) 

Beachten Sie auch, dass Sie programmatisch alle überwachten Regionen mit neu starten können:

for region in locationManager.monitoredRegions { 
    locationManager.stopMonitoring(for: region) 
    locationManager.startMonitoring(for: region) 
}