Background beacon detection is delayed only on recent iPads

I am developing an app that detects iBeacons and takes action. The problem is that some iPads do not launch the app even though the iBeacon is detected when the iPad is locked.

This app works as follows.

  1. Start monitoring the iBeacon using startMonitoring().
  2. When the iPad detects the iBeacon, the didEnterRegion delegate is called.
  3. The didDetermineState delegate is then called.
  4. Inside the didDetermineState delegate my app does the required behavior.

The app works on iPhones and some iPads as soon as it detects an iBeacon, whether the app is in the foreground, in the background, or when the device is locked (this is expected behavior).

However, some other iPads delay calling the didEnterRegion delegate only when the device is locked. When the device is locked, the didEnterRegion delegate is called with a delay at an unspecified time, anywhere from a few seconds to 20 minutes. The didEnterRegion delegate is called immediately if foreground or background. Also, when the didEnterRegion delegate call is delayed, if you press the iPad's home button to unlock it and the home screen is displayed, the didEnterRegion delegate will be called immediately. Also, the didEnterRegion delegate is called immediately if the iPad is connected to power, even in the locked state. This issue only occurs when the iPad is on battery power and locked.

I've tried it on several devices, and the difference seems to be due to the iPad generation, not the OS version. Is there a possibility that the new generation iPad's energy saving feature may delay the background startup of apps when the iPad is locked?

A model that operates immediately upon detecting an iBeacon ・iPhone 13mini (iOS 17.0.3) ・iPhone 8 (iOS 17.0.3) ・iPad 6th generation (iPadOS 16.7)

Models where didEnterRegion is delayed even if iBeacon is detected ・iPad 8th generation (iPadOS 16.2) ・iPad 8th generation (iPadOS 16.7) ・iPad 9th generation (iPadOS 16.2)

Have such cases been reported? Also, how can such phenomena be avoided?

Thank you.

Background beacon detection is delayed only on recent iPads
 
 
Q