Update
We could not find any correlation between OS version and/or Bluetooth version.We have noticed that the length of advertising data may have an impact on whether power level bytes are added or not. For instance, on most of the phones power level is not added when we advertise a local name of 13 characters. For local name of 14 characters or more, power level is present. But this behaviour is also not consistent on all phones. Also, if we add service UUID in advertisement data, power level is always present.
Steps to reproduce Create an instance of CBPeripheralManager.
Start advertising with a local name of 18 characters.
Capture the advertisement data using a Bluetooth sniffer tool.