CLBeaconRegion, wie zum ausschalten Warnung: Schalten Sie Bluetooth zu Ermöglichen * um eine Verbindung zu Zubehör

Haben wir ein Projekt, das mit CoreLocation Regionen zu überwachen iBeacon region betreten/verlassen der app im hintergrund. CLBeaconRegion (CLRegion), CLBeacon, etc. CLLocationManager gibt Rückrufe, wenn ein CLBeacon (iBeacon) region eingetragen ist. Es ist eine Licht-Hülle um einen bluetoothManager darunter.

//various CLLocation delegate callback examples
- (void) locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region;
- (void) locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region;

Das problem, das wir haben, ist, dass, wenn ein Benutzer nicht über die bluetooth eingeschaltet, ist das Iphone die Probleme, die ein system-level-Warnung auf einer regelmäßigen basis zu 'Bluetooth einschalten zu Ermöglichen "APP_NAME" zu Verbinden, ot Zubehör'. Das passiert oft, ich habe es 4 mal heute morgen schon, als die app im hintergrund läuft. CLLocationManager versucht, diese überwachen CLBeaconRegion, aber bluetooth ist ausgeschaltet, also kann es nicht tun.

Einem anderen post erwähnt, dass CBCentralManager hat eine Eigenschaft, CBCentralManagerOptionShowPowerAlertkey, dass ermöglicht das deaktivieren dieser Warnung.

iOS CoreBluetooth passiv prüfen Sie, ob Bluetooth aktiviert ist, ohne dass Benutzer um Bluetooth zu aktivieren

Leider habe ich keine Möglichkeit gefunden, um den Zugriff auf zugrunde liegende bluetooth, oder jede CBCentralManager Referenz zu verwenden, dieses.

Gibt es eine Möglichkeit, um diese Warnung zu deaktivieren für CLBeaconRegion überwachung?

CLBeaconRegion, wie zum ausschalten Warnung: Schalten Sie Bluetooth zu Ermöglichen * um eine Verbindung zu Zubehör

  • Sie sind nur zu instanziieren eines CLLocationManager Instanz oder verwenden Sie andere Bibliotheken? Soweit ich weiß, sollten Sie nicht erhalten diese Eingabeaufforderung mit gerade CoreLocation
  • Wir sind mit CLLocationManager und Umsetzung der delegate-Methoden
  • Getestet habe ich mit einer app, die verwendet beacon überwachung und ich bekomme einen etwas anderen dialog, der den Benutzer darüber informiert, dass die Standort-Genauigkeit wird verbessert, wenn Bluetooth aktiviert ist. Bekomme ich nur das erste mal, dass ich die app mit Bluetooth-Funktion aus. Das Dialogfeld, das Sie zeigen, ist der dialog, den ich erwarten würde, mit Core Bluetooth, nicht der Kern Lage. Welche version von iOS Sie laufen?
  • Ich habe gerade versucht ein weiteres iBeacon-app aus dem app store und es zeigt sich der gleiche dialog wie Sie sehen, also vielleicht hängt es von der API, die der app kompiliert oder so etwas. Wahrscheinlich der einzige Weg, können Sie vermeiden, der dialog ist nur zu vergeben, CBCentral mit der Technik in der Antwort, die Sie verbunden sind und erkennen, ob Bluetooth ein-oder ausschalten. Wenn es deaktiviert ist nicht die Initialisierung des beacon-region monitoring.
  • FYI, ich bin mit den neuesten iOS 8.1. Ich arbeitete eine Lösung ähnlich wie in der Logik, zu Ihrer letzten Bemerkung über CBCentral und erkennen von bluetooth.
InformationsquelleAutor Miro | 2015-02-12
Schreibe einen Kommentar