iBeacon advertisement packets not being displayed by CoreBluetooth

Originator:george
Number:rdar://14918495 Date Originated:05-Sep-2013 12:11 PM
Status:Open Resolved:NO
Product:iOS SDK Product Version:iOS 7+
Classification:2 - Important Reproducible:Always
 
Summary:
I'm trying to read the advertised packets sent from a iOS CoreLocation iBeacon (e.g. from AirLocate source code) but CoreBluetooth doesn't give the those packets on the CB delegate method: centralManager:didDiscoverPeripheral:advertisementData:RSSI:

Is this the way iBeacons are designed to be or is this a BUG?

Steps to Reproduce:
1. Download and run AirLocate source code from Apple on a iDevice
2. Set the app to run as an iBeacon
3. On another device, setup a basic CB configuration to start scanning for BLE devices
4. Breakpoint on the delegate centralManager:didDiscoverPeripheral:advertisementData:RSSI: and look for the contents of the advertised packets. You'll not see information about the beacon (like: encoded UUID/Major/Minor/Power).

Expected Results:
See on the advertisementData dictionary of the delegate something like: kCBAdvDataAppleBeaconKey = <d0ae5d86 aba444d6 869b0c3b 1c73f5ee 000c0001 c5>;

Actual Results:
I only see the on the dictionary information about the channel and if its connectable.

Version:
iOS 7 beta 1 to 6

Notes:


Configuration:


Attachments:

Comments

related issue

rdar://15606232

By deadfalkon at April 9, 2014, 9:36 a.m. (reply...)

Correct Key

If you look at possible implementations on the mac: https://github.com/liamnichols/iBeaconScanner (see https://github.com/liamnichols/iBeaconScanner/blob/master/BLEScanner/AppDelegate.m for the actual parsing)

There, the key is actually kCBAdvDataManufacturerData and contains the raw advertising Bytes.

By deadfalkon at April 9, 2014, 9:34 a.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!