Initial partial implementation of the Web Bluetooth spec for iOS, to get some basics working.
This builds on Paul Thierault's original implementation.
The app is fundamentally a WKWebView with a polyfill providing the javascript APIs calling
through to the CoreBluetooth iOS API via a thin transaction management layer.
.requestDevice(options)options.acceptAllDevices = trueto ask for any deviceoptions.filtersis a list of filters (mutually exclusive withacceptAllDevices) with propertiesnamePrefix: devices with names with this prefix will be includedservices: list of service aliases or uuids.
.id.name.gatt.gattserverdisconnected: EventHandler
.connected.connect().disconnect().getPrimaryService(uuid)
.uuid.device.getCharacteristic(uuid)
.service.uuid.value.readValue().writeValue(value).oncharacteristicvaluechanged: EventHandler.startNotifications().stopNotifications().addEventListener().removeEventListener()
Everything else is TBD!