NFC blocked when using CoreLocation

Hi,


we have a specific need to listen to CoreLocation's didRangingBeacons and for the NFC tag simultaneously.


Logic description:

- we are listening to the didRangingBeacons

- we have specified a RSSI treshold for the beacon and for running a NFC session

- when the RSSI is reached for the NFC we show its popup but still listening to didRangingBeacons in case of we catch earlier beacon communication rather than via NFC with the tag - to conclude, we are open for both Beacons and NFC simultaneously and want to catch whichever of them which will communicate earlier with the phone

case 1

If we fire the NFC session we are still listening to didRangingBeacons. If we catch communication with a beacon before the tag via the NFC then we continue with the beacon and invalidate the NFC session


case 2

If we catch the communication with the beacon then we do not run the NFC session at all.



The problem

From time to time, the NFC is going to be broken after the identification with beacon/NFC in the situation described above. By broken I mean the NFC popup does not show up in our app but also in other apps. I have investigated the problem and from the code side it looks like the NFC session is invalidating properly and also starting properly but there is no popup anymore.

The only solution in this case is the iPhone reboot.


Does anyone know why is that happening and how to solve this problem? This only happens in collaboration with CoreLocation didRangingBeacons.


Many thanks.