CoreLocation's iBeacon monitoring stops reporting iBeacon when other BT device is connected in iOS Settings

Hello,

We have an iOS application which detects when the user starts driving by detecting an USB iBeacon which is installed in the car of the users. For that we are monitoring the iBeacon region with CoreLocation and we are detecting the iBeacon when the locationManager(_:didDetermineState:for:) delegate method is called.

We received some reports from a user that the iBeacon monitoring stops working when a specific BT device (specifically a hearing aid) is connected to the iPhone. The hearing aid is connected in the iOS Settings > Bluetooth page, similar how a regular BT headset is connected. When the hearing aid is disconnected then the iBeacon monitoring resumes and starts working properly again.

We can't reproduce this issue with our BT headsets, so maybe the problem is specific to just some BT device connections?

The advertising time interval of the iBeacon is 100mS as requested in the Apple documentation.

Previously we had problems when a phone call was made through a BT headset when we used an advertising interval > 100mS in order to improve the battery usage of the iBeacon. But we changed to use an USB iBeacon, so the battery usage is not a concern anymore.

Did somebody experience similar issues or has a solution? Specifically, can some specific BT connections set up in iOS Settings > Bluetooth page interfere with the iBeacon monitoring when using CoreLocation?

Thank you very much!

Replies

We found that the problem was in our code and not in the iBeacon monitoring. So, a moderator can delete this thread, please, because the iBeacon monitoring works fine.

  • Just mark your reply was the answer.

Add a Comment