Ich habe einen wirklich seltsamen Bug, der mit iOS und iBeacon funktioniert. Ich habe eine wirklich einfache BeaconManager
, die Beacons mit bestimmten UUID-, Major- und Minor-Werten abbildet und einige Aktionen ausführt, sobald sie gefunden wurden. Meine App scheint ordnungsgemäß zu funktionieren, bis sie den Bluetooth-Status kontinuierlich umschaltet und ihre Arbeit beendet. Das einzige sichtbare Ergebnis ist, dass das Bluetooth-Symbol in der Statusleiste anfängt zu blinken, weil Bluetooth beendet und neu gestartet wird.
Wo kann ich meine Aufmerksamkeit konzentrieren?
Dies ist meine Klassendefinition:
%Vor%Ich kann nicht sicher sagen, dass dies der Grund ist, warum Bluetooth weiter schaltet, aber dieser Teil ist definitiv verdächtig:
%Vor% Dies ist im Wesentlichen eine Endlosschleife. Sobald die Überwachung startet, ruft iOS die didStartMonitoring
-Methode auf, die die Überwachung für die gleiche Region startet, wodurch das iOS die didStartMonitoring
-Methode erneut aufruft, was ...
Ich würde damit beginnen, die startMonitoringForRegion
-Zeile aus diesem Teil des Codes zu entfernen.