How to start a hands-free Nearby Interaction (UWB) session using Bluetooth?

Hello,

Our team is working on a mobile app that uses Nearby Interaction framework (UWB technology) to get real-time high-accuracy ranging information with our third-party UWB-enabled device. So far everything works fine, background sessions included as explained in wwdc2022/10008 video. We are using Bluetooth LE to exchange the UWB parameters as recommended by Apple.

Our next goal is to go for a full hands-free configuration of the UWB session. Let's think of an access control use case where UWB is used to measure the distance between the user and the door (credentials exchanged via Bluetooth). What we want to achieve is to start the UWB session without requiring the user to take the phone out of his wallet and open the access control app.

What it works for us today is if the user starts the app, then switches off the screen and puts the phone into his pocket. The app is still running in background, so the Bluetooth Scan keeps working, the Bluetooth session starts, the UWB parameters exchanged and the UWB session started in the background, all good.

But what if the user killed the app or never started it after reboot? How can we force the app to start from killed state when the BLE / UWB third-party accessory comes into proximity? iBeacon seems like a promising approach, but according to the forums, in iOS 16 the app will not be restarted from killed state. Is this correct?

Any idea / suggestion about how to let the OS start our app when the user approaches the BLE / UWB accessory and the app is in killed state?

Thanks in advance for your time. Regards.

Replies

Unfortunately, if a user has "explicitly" closed the app, there's not much you can do. Closing the app intentionally suggests that users do not wish to interact with it further, so you'll need to find ways to motivate them to keep the app running in the background. You can address this by clearly explaining the benefits during the onboarding process.

For friction-less experiences, such as unlocking cars or doors with a smart lock, users are likely to be more inclined to keep the app running in the background. This convenience can motivate users to avoid the hassle of having to open the app each time they need to unlock a door.