ArduinoCore-arc32 icon indicating copy to clipboard operation
ArduinoCore-arc32 copied to clipboard

iOS doesn't see changes to Bluetooth services and characteristics between sketches

Open don opened this issue 8 years ago • 35 comments

iOS doesn't see changes to Bluetooth services and characteristics between sketches

To duplicate

  1. Run example CurieBle -> LED
  2. Use LightBlue from iPhone to connect to LED
  3. Run example CurieBle -> ButtonLED
  4. Use LightBlue from iPhone to connect to ButtonLED (the old LED name will be show)

Problem: The old LED characteristics are also shown

  1. Turn Bluetooth off and on on the iPhone
  2. Use LightBlue from iPhone to connect to ButtonLED

The correct service and characteristics should now be shown

Background

The original problem was that descriptors (0x2901) added to existing sketches were not showing up in LightBlue. This has not been a problem when using other libraries such as BLEPeripheral or bleno. The steps above are an easier way to duplicate the issue without adding descriptors.

Software/Hardware

Arduino 101 Arduino IDE 1.6.7 on OS 10.10.5 iOS 9.2 (13C75) on iPhone 6s

Possible solution

iOS is expecting Service Changed 0x2a05 to be implemented on the Generic Attribute Service 0x1801.

don avatar Jan 05 '16 02:01 don