CLBeacon proximity always returning only .near and .far value but not .immediate

I am using estimote beacons for an iOS app and implemented CLLocationManager delegate method didRangeBeacons to determine the proximity of each beacon.

Based on the .immediate, .near, .far proximities, i have some functionalities written.

This was working perfectly before in iOS 11. After iOS 12 upgrade .immediate proximity is not at all getting called. Only .near and .far is getting called.

I searched a lot and couldn’t find any solution for this. What could be the reason for not detecting .immediate alone even if i place the iPhone just above the beacon?

When you say it worked previously on iOS 11, was it the exact same iPhone and the exact same beacon?