I am using CoreBluetooth to connect to a number of identical bluetooth scales that I've developed using BlueGiga BLE113 modules. My app keeps a local copy of each scale's CBPeripheral.Identifier.UUIDString along with some related data about that physical scale so I can tell them apart. E.g. "Scale A" and "Scale B"
My trouble is that every so often the device's UUIDString changes. I can develop for days against a device, then one day the UUID is different. The scale hasn't been reset, the app hasn't been restarted and bluetooth hasn't been cycled on the phone.
I need a way to identify each bluetooth peripheral (scale) reliably and I'd rather not have to hard code identifiers into each device during production.
Is there a better method of identifying peripherals for the long-term?