Annoying Bluetooth Caching Behavior with iOS 7 22 May 2014
iOS’s caching behavior (for Bluetooth Low Energy peripherals) is a bit annoying when interacting or observing devices that act as multiple peripherals or broadcasters.

For example, say you have a mode where it acts as an iBeacon and another mode where it acts as a connectable peripheral that let’s you configure the iBeacon settings. Whichever iOS sees first is what it will continue to see until it clears the cache or you clear the cache.

I believe this issue is due to the fact the bluetooth cache in iOS is based around the device address only rather than the any advertising data in particular.

I’ve experimented with this while developing Gelo beacons and it’s quite annoying.

There are two ways to get around it. One way is to swipe up control center and toggle Bluetooth on and off. The second way is to have different or random device addresses for your device.

You may be wondering why in the world would you do this: battery life and security. It doesn’t eliminate all security risks but it mitigates quite a few.

With WWDC a few weeks a way I hope iOS8 improves the intelligence of BLE caching in iOS.

blog comments powered by Disqus