Mein Projekt besteht darin, einen iBeacon für jedes Zimmer eines Hauses zu haben. Wenn der Benutzer im Haus einsteigt, führt meine App einen Scan-Prozess durch, um zu erkennen, was iBeacon in Echtzeit sieht (UUID, Major und Minor) und was iBeacon das stärkste RSSI-Signal hat. Wenn das stärkste Signal 10 Sekunden lang gleich ist, weiß meine App, in welchem Raum der Benutzer ist und zeigt es als Benachrichtigung an.Aufwachen einer getöteten App mit didEnterRegion und dann nach iBeacon scannen
Ich muss diesen Prozess im Hintergrundmodus ausführen, auch wenn das iPhone gesperrt ist oder die App getötet wird.
Mit didEnterRegion kann ich meine App für ein paar Sekunden aufwecken, um eine Aktion auszuführen. jedoch mein Scan-Prozess (die ich oben beschrieben) muss mehr als einige Sekunden, aber weniger als 3 Minuten < mit Scan-Intervall von 1 Sekunde oder 2 Sekunden
Is- (Zeit Benutzer in einen Raum und bleiben gehen) halten werden es eine Möglichkeit, was ich mit CoreBluetooth Scan durchführen möchte? CoreLocation kann mir kein RSSI-Signal geben, um einen Filterprozess durchzuführen, stimmt das?
Vielen Dank,
Greg
"CoreBluetooth wird Ihnen nicht helfen" Sprechen Sie über CoreLocatlion? – user2287979
Kann nach 3 Minuten Überwachung noch 3 Minuten mehr gedreht werden? – user2287979
Nein, ich meine CoreBluetooth kann keine iBeacon-Werbung erkennen. Nur CoreLocation kann auf iOS. Und nach drei Minuten im Hintergrund können Sie es erst wieder einschalten, wenn eines der folgenden Ereignisse eintritt: (1) Ihre App wird in den Vordergrund gebracht, (2) Sie erhalten einen Überwachungseintrag-Rückruf für eine CLBeaconRegion (3) einen Überwachungsexit-Rückruf für eine CLBeaconRegion abrufen. – davidgyoung