Can I make iPhone/iPad broadcast as Eddystone Beacon?
Asked Answered
D

1

10

We can make iOS devices act as a iBeacon transmitter and We can locate nearby iBeacons if we know their Proximity UUID.

With Google's Proximity Beacon API, It's possible to configure and register real Beacon hardware, and we can locate them with Nearby Messaging API.

But is it possible to make iOS devices to broadcast as Eddystone Beacons ? And it needs to be discoverable by apps that scan Eddystone beacons.

Thanks in advance.

Demonstrative answered 3/2, 2016 at 10:52 Comment(0)
T
20

Unfortunately, this is not possible. While iOS devices can advertise Bluetooth LE service advertisements(which are the advertisement type used by Eddystone) using CoreBluetooth APIs, you cannot attach the necessary data. This is because the CBAdvertisementDataServiceDataKey that associates service data to an advertisement is read-only on iOS. You can't set the data.

So while you want to make the iOS device advertise something like this to transmit Eddystone-UID:

0201060303aafe1516aafe00e72f234454f4911ba9ffa6000000000001

You end up advertising something like this:

0201060303aafe0316aafe

This leaves off the Eddystone-UID type code (00), the calibrated power (e7), the namespace identifier (2f234454f4911ba9ffa6) and the instance identifier (000000000001). As a result, it won't be recognized as an Eddystone-UID frame.

Texture answered 3/2, 2016 at 11:55 Comment(3)
Thanks for the explanation. I did my study on this, just to be fully sure. Your detailed explanation helped a lot.Demonstrative
Can confirm that this is still the case (2021 -- 5 years later)? Maybe outside the scope of this question, but why wouldn't apple add this functionality? -- It seems like Eddystone is an overall improvement on iBeacon...Hamlani
This is still true as of iOS 15.1 in 2021, yes. I cannot speak to why Apple has this restriction.Texture

© 2022 - 2024 — McMap. All rights reserved.