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
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!
related issue
rdar://15606232
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.