Ich habe eine iOS-App, die als Peripheriegerät mit einem CBPeripheralManager
und einem Dienst mit mehreren Merkmalen eingerichtet ist. Ich versuche, die Verbindung wiederherzustellen, nachdem der Benutzer das Control Center geöffnet und Bluetooth ein- und ausgeschaltet hat. Es sieht so aus, als ob mein Dienst die Werbung korrekt wieder aufnimmt, aber ich bekomme nie Callbacks für Schreibanforderungen. Ich erwarte, dass ‑peripheralManager:didReceiveWriteRequests:
angerufen wird, aber es passiert nie, sobald Bluetooth wieder eingeschaltet wird.iOS-Peripheriegerät, das keine Schreibanforderungen nach der Stromumschaltung empfängt
Gibt es etwas Besonderes, was wir in diesem Fall tun müssen? Laut der CBPeripheralManager
Dokumentation müssen wir Werbung nur dann explizit neu starten, wenn der Peripheriezustand unter PoweredOff geht. Ich sehe es gehen zu PoweredOff, dann PoweredOn, und wenn ich es abfrage, ‑isAdvertising
gibt YES
zurück, und das Hinzufügen des Dienstes stürzt mit einer Ausnahme ab, weil der Dienst bereits hinzugefügt wurde.