IOS18 function centraliManager: didDiscoverPeripheral: advertising Data: RSSI The advertisement data does not have kCBAdDataLocalName.

iOS 17 advertisementData:

{

kCBAdvDataIsConnectable = 1;

kCBAdvDataLocalName = CZL2;

kCBAdvDataRxPrimaryPHY = 1;

kCBAdvDataRxSecondaryPHY = 0;

kCBAdvDataServiceUUIDs =     (
    FFE0
);

kCBAdvDataTimestamp = "750419647.067132";

}

iOS 18 advertisementData:

{

kCBAdvDataIsConnectable = 0;

kCBAdvDataRxPrimaryPHY = 0;

kCBAdvDataRxSecondaryPHY = 0;

kCBAdvDataServiceUUIDs =     (
    FFE0
);

kCBAdvDataTimestamp = "750420105.457082";

}

What should I do if the key value pair of kCBAdvDataLocalName disappears?

Is your peripheral advertising this info in the ADV_IND or SCAN_RSP packet?

If in the secondary SCAN_RSP packet, the first didDiscoverPeripheral() callback may not contain this information. If you have noticed, you are getting two callbacks for the same device, the second one having additional info.

And whether this info is available immediately, or whether the SCAN_RSP packet is even scanned depends on your app and device state. If your app is in the background, you may not receive the information in the secondary packet, especially if the BLE accessory has not been seen and cached by iOS yet.


Argun Tekant /  DTS Engineer / Core Technologies

IOS18 function centraliManager: didDiscoverPeripheral: advertising Data: RSSI The advertisement data does not have kCBAdDataLocalName.
 
 
Q