2013-10-22 5 views
5

Ich habe etwas über CLBeaconRegion lesen und ich habe einige iBeacons erfolgreich eingerichtet und hatte es Ort Updates auslösen, auch während die Anwendung im Hintergrund ist.CLBeaconRegion nicht Aufruf von DidEnterRegion von Terminierung

Jedoch, von was ich gelesen und von CLRegion übertragen habe, verstehe ich, dass es möglich sein sollte, locationManager:didEnterRegion: zu treffen, nachdem die Anwendung beendet wird.

Ich habe mein Setup CLBeaconRegion wie folgt aus:

beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:[[NSUUID alloc] initWithUUIDString:SERVICE_UUID] 
                 major:0 
                 minor:0 
                identifier:BEACON_ID]; 
[beaconRegion setNotifyOnEntry:YES]; 
[beaconRegion setNotifyOnExit:YES]; 
[beaconRegion setNotifyEntryStateOnDisplay:YES]; 

Aber ich bin nicht in der Lage die CLLocationManager ‚s Delegierten Beendigung auszulösen. Ich habe die Region verlassen (bestätigt durch eine Benachrichtigung), reiste weiter weg von der Bake, wartete 30 Sekunden, reiste dann zurück zum Beacon, aber es löst den Delegierten nicht aus, während er beendet wird (funktioniert großartig im Hintergrund und im Vordergrund)).

Sollte dies von der Beendigung funktionieren? Fehle ich etwas? Jede Hilfe wäre großartig.

Antwort

4

Ich glaube, wenn Sie im Hintergrund oder nicht ausgeführt wird, ruft sie locationManager: didDetermineState: forRegion: anstelle von locationManager: didEnterRegion :, und dann nur, wenn Sie notifyEntryStateOnDisplay auf TRUE gesetzt haben.

+0

Im Hintergrund ruft sie noch 'Locationmanager: didEnterRegion:', als 'Locationmanager: didDetermineState: forRegion:', aber von meinen Tests, wird es nicht nennen entweder aus einem abgeschlossenen Zustand (Benutzer klauen die Anwendung). Ich habe 'notifyEntryStateOnDisplay' ebenfalls auf' YES'/'TRUE' gesetzt. – RileyE

1

BEARBEITEN: Das Folgende ist nicht mehr wahr ab 7.1. Sie können nach wie vor Meldungen auch erhalten, wenn die Anwendung jetzt die Wirkung hat

Das Verhalten von Anwendungen wird geklaut entfernt im Programmwechsler geschlossen sind Sie iOS 7.

Benutzer unter der Beschreibung, die Ihre Anwendung entfernen Switcher haben entschieden, dass Ihre App nicht im Hintergrund ausgeführt werden darf. Daher wird die Region durch die Überwachung nicht erneut geöffnet.

Weitere Informationen finden Sie in der "Was ist neu mit Multitasking" -Sitzung von WWDC 2013.

-1

Ja,

Same behaviour is being noticed .Sometimes even while calling setNotifyEntryStateOnDisplay, didEnterRegion not called even when in foreground. 
Verwandte Themen