iOS 27 Beta 3: iBeacon region monitoring sometimes never exits or enters

After upgrading to iOS 27 Beta 3, iBeacon region monitoring no longer behaves as it did on previous iOS versions.

Issue 1 – Never exits region

After connecting to an iBeacon, I power off the beacon and move several kilometers away. The app never receives an Outside (didExitRegion) event. Even after force quitting the app, powering off the beacon, locking the screen, and turning the screen back on, iOS may relaunch the app as if it were still inside the beacon region.

Is this an intentional change in iOS 27 or a bug?

Issue 2 – Sometimes never enters region

Occasionally, the app is not awakened when entering the iBeacon region. No Inside event is delivered. The only way to recover is to manually scan and reconnect to the beacon. Otherwise, the app is never awakened by the iBeacon again.

This worked reliably on iOS versions before iOS 27.

Issues popping like this in betas should immediately be reported as bugs so the teams can investigate and fix if necessary in a timely manner.

Please file a Bug Report on this

In your bug report we would need some diagnostics logs as well. Please go to https://developer.apple.com/bug-reporting/profiles-and-logs/ and follow the instructions for Bluetooth for iOS and Location services for iOS install the logging profiles on your device.

Then reproduce the issue, and follow the instructions at the above link to create a sysdiagnose.

And attach that to the bug report as well.

Hi poolii,

did you file a bug? Do you have any updates for the community if this has been fixed and works now in the latest iOS27 betas? Wondering as I have an app that relies on iBeacon functionality but can't test it yet on iOS27.

Thx in advance!

Hi,

I am experiencing almost the same issue with my app, but it already appeared with iOS 26 and remains with 26.6. I filed a bug today. After resetting Location Services or restarting the iPhone it usually works again.

CLMonitor doesn’t get new events out of nowhere even if the iPhone has been next to the iBeacon for hours.

Hi!

Sorry, I thought you are using CLMonitor directly. The investigation by Apple has been finished because the provided information seems to be not sufficient for a diagnose.

When I deactivate the location services for my app only, it's still not working. I'll give it a try to get sysdiagnose information.

Hi poolii,

I have now captured a sysdiagnose while the problem was occurring, and the logs contain some interesting evidence.

My app uses a named CLMonitor with BeaconIdentityCondition, not the deprecated CLLocationManager.startMonitoring(for:) API.

The recorded sequence was:

At 07:01:20, bluetoothd detected the configured iBeacon and logged Entered zone.

Immediately afterward, CLMonitor correctly delivered a .satisfied event.

No corresponding Exited zone for that beacon appeared afterward.

When the app reopened the existing monitor at 08:40:35, locationd still reported:

clientState: Satisfied daemonState: Satisfied newDaemonState: Satisfied

At the same time, the logs showed:

RegistrationResult: AllowedAlways DiagnosticMask: 0

Both monitoring conditions were still registered, the CLServiceSession was active, Always authorization was granted, and the CLMonitor event stream reported no error.

This suggests that the stale state already existed inside locationd. The app and CLMonitor client were not merely displaying an outdated app-side value — the daemon itself still considered the beacon condition satisfied and therefore generated no exit transition.

The issue was captured on iOS 26.6, build 23G71.

iOS 27 Beta 3: iBeacon region monitoring sometimes never exits or enters
 
 
Q