Wiederherstellung des Bluetooth-Kernzustands
Ich arbeite an einer App, die auf Unterbrechungen von Peripheriegeräten reagiert, und versuche nun, die in iOS 7 eingeführte ne Zustandserhaltung und -wiederherstellung zu übernehmen.
Ich habe alles gemacht, was die Dokumentation sagt, bedeutet:
Ich habe den Hintergrundmodus für Zentralen hinzugefügt.
Ich instanziiere meinen zentralen Manager immer mit der gleichen eindeutigen Kennung.
Ich habe das implementiertcentralManager:willRestoreState:
Methode.
Wenn meine App in den Hintergrund wechselt, beende ich sie im AppDelegate-Rückruf mit einemkill(getpid(), SIGKILL);
. (Core Bluetooth-Statuserhaltung und -wiederherstellung funktioniert nicht, App kann nicht im Hintergrund neu gestartet werden)
Wenn ich jetzt ein Peripheriegerät durch Entfernen des Akkus abtrenne, wird meine App wie erwartet und gewecktlaunchOptions[UIApplicationLaunchOptionsBluetoothCentralsKey]
enthält den korrekten Bezeichner ABER dencentralManager:willRestoreState:
wurde nicht angerufen. Nur wenn ich ein anderes Peripheriegerät trenne, wird diese Methode aufgerufen.