2016-07-10 7 views
1

Wir sehen einen Fall, in dem das Schreiben von Daten ohne Antwort:didWriteValueForCharacteristic nach withoutResponse Schreiben genannt werden

peripheral.writeValue(data, forCharacteristic: characteristic, type: .WithoutResponse) 

sind immer noch einen Rückruf zu bekommen:

func peripheral(peripheral: CBPeripheral, didWriteValueForCharacteristic characteristic: CBCharacteristic, error: NSError?) { 

Der Fehler ist gleich Null und das Zeichen ist die eine, die wir gerade geschrieben haben (. Ohne Antwort). Das Schreiben mit .WithResponse ruft auch den Rückruf wie erwartet ab.

Was könnte ein solches Verhalten verursachen?

iOS 9.3, iPhone 6s +, Xcode 7.3.1, iOS Central, Ti CC2640 BLE Stapel 2.1.0 Periphere

Update 1:

Die Eigenschaften auf der charakteristisch sind: .WriteWithoutResponse , .Write, .Notify (via characteristic.properties verifiziert)

+0

Was sind die Eigenschaften des Merkmals? Hat es 'WriteWithoutResponse' oder' Write' oder beides? – Paulw11

+0

Danke für die Frage. Ich habe die Antwort als Update für das OP hinzugefügt. – pixbroker

+0

Welche Eigenschaft verwenden Sie? ist es Benachrichtigen oder Hinweise? – Basanth

Antwort

0

Es genau für mich der Fall war auf iOS10.0 und iOS10.1 Aktivitäten normalen ging zurück auf iOS10.2 beta3 veröffentlicht Nov'14th 2016.

Weitere Details zu CoreBluetooth-Zustandsautomaten-Fehlern unter iOS10.0 10.1 finden Sie hier: https://forums.developer.apple.com/thread/51960

Verwandte Themen