Ich implementiere ein BLE-Zentralgerät auf dem iPhone, indem ich als Peripheriegerät ein eigenes BLE-Gerät entwickle (dessen Firmware von einem Kollegen geschrieben wurde).Kann programmgesteuert auf die von CoreBluetooth protokollierten Fehlercodes zugegriffen werden?
Das Peripheriegerät für eine bestimmte Operation gibt einen BLE-Fehlercode zurück, der den Standard-Bluetooth-ATT-Fehlercodes gemäß den BLE-Spezifikationen entspricht.
CoreBluetooth [WARNUNG] Unbekannter Fehler: XX
Auf der iPhone Seite, wo ich die CoreBluetooth Stapel bin mit dem Zentralgerät zu entwickeln, bin ich von solchen Fehlern auf dem Debugger-Ausgabefenster von xCode als Benannte
und dann erhalte ich in den Callbacks ein CBError * -Objekt. Mein Problem ist, dass das CBError * -Objekt, das ich im Callback bekomme (z. B. CBPeripheralDelegate's didWriteValueForCharacteristic Callback) nur Code = 0 und localizedDescription = "Unknown error" enthält.
Ist es möglich, den Fehlercode, der im Debugger-Ausgabefenster vom CoreBluetooth-Stack protokolliert wird, irgendwie wiederherzustellen?
Aus meiner Forschung scheint es, dass CoreBluetooth fast alle BLE-Standardfehlercodes in "unbekannte Fehler" (mit internem Code 0, siehe CBError reference) abbildet; Ich möchte detailliertere Fehlercodes erhalten, wie sie von CBAttError codiert werden.
Sind Sie mit diesem Problem weiter gekommen? – allprog