iBeacons broadcasting on background for long time

Hi,

We have an app that broadcast UUIDs as beacons to the Suntech vehicle tracker device in the foreground and background. This app broadcast UUIDs to vehicle tracker devices when the app is in range of the device, and when the application is away from the device then it will send alerts to users. But this is working properly when the app is in the foreground. And when the user puts the application in the background then broadcasting stops and UUIDs format is also changed.

So can you guide us, on how we can broadcast in the background for a long time and when the app is killed?

When an advertising app is in the background, the information is hashed and handled differently, and is changed into a format that is meant to be recognized by other Apple devices only.

As stated in the documentation https://developer.apple.com/documentation/corebluetooth/cbperipheralmanager/1393252-startadvertising

Core Bluetooth advertises data on a “best effort” basis, due to limited space and because there may be multiple apps advertising simultaneously.
...
Any service UUIDs contained in the value of the CBAdvertisementDataServiceUUIDsKeykey that don’t fit in the allotted space go to a special “overflow” area. These services are discoverable only by an iOS device explicitly scanning for them.

When the app is in the background, all of its advertising data will be in this form, and would no longer be recognizable as an iBeacon advertisement.

iBeacons broadcasting on background for long time
 
 
Q