Hello,
We are developing applications using Apple's Nearby Interaction framework for continuous UWB ranging between an iPhone and a UWB-enabled accessory. We have identified a reproducible issue on iPhone 17 where, after running several prolonged UWB ranging sessions (sometimes more than 2 hours), the UWB ranging functionality eventually enters a state where it no longer operates correctly. Once the issue occurs, restarting the application does not recover the UWB functionality. The iPhone must be fully restarted before UWB ranging starts working normally again.
We strongly believe the issue is not related to application-specific logic but is a OS issue
Device: iPhone 17 UWB: U2 iOS: iOS 26 & iOS 27 beta 4 Framework: Nearby Interaction
Steps to reproduce
Establish a Nearby Interaction UWB ranging session between the iPhone 17 and a compatible UWB device. Keep the ranging session running continuously for a prolonged period. Repeat this process several times if needed, using long-running sessions. Eventually, the OS will stop delivering didUpdate OS callbacks with ranging distance. After the issue occurs, start a new Nearby Interaction session.
Actual result
Once the issue occurs, a newly started UWB ranging session only delivers one valid didUpdate ranging callback to the application. After this first callback, no further valid ranging updates are delivered.
The issue persists when:
- the current ranging session is stopped;
- the application is completely terminated;
- the application is launched again;
- a new Nearby Interaction session is created.
The only way we have found to recover the device is to fully restart the iPhone. After restarting the phone, Nearby Interaction UWB ranging works normally again.
The issue is not in the UWB accessory, the accessory will keep doing valid ranging with other phones, this is only affecting the iPhone that entered the invalid UWB state.
Expected result
After stopping a Nearby Interaction session and creating a new session, UWB ranging should start normally again, regardless of how many previous ranging sessions have been executed. Terminating and relaunching the application should also release any application-owned resources associated with the previous session.
Request
Could you please investigate whether this behavior is related to the Nearby Interaction framework, the iPhone 17 UWB subsystem, or an internal UWB state that is not correctly reset between ranging sessions?
If any other iOS developer has experienced similar behaviour it would be great if you can share your findings.
Material delivered
I am attaching a console log that I captured on my iPhone 17. Here the prolonged session was already executed and UWB already entered the invalid state. The iPhone and the UWB accessory are close to each other. We can observe that valid ranging notification (didUpdate) is only delivered for the first ranging round, following ranging rounds will lead to error (the OS does not deliver ranging distance notfs anymore. After this the only way to recover UWB technology is to restart the iPhone.
Let us know if you need any additional information for debugging this issue.
Feedback assistant issue identifier: FB24484779