Hello, dear engineer:
The UWB Accessory used by my APP has inconsistent code callbacks on iOS17 and iOS18.
I have connected multiple UWB Accessory by Accessory Single Configuration Data (UUID: 95e8d9d5-d8ef-4721-9a4e-807375f53328) in the APP.
In iOS17.5.1, the unconnected Accessory calls the func session in the NiSessionDelegate (_ session: NISession, didRemove nearbyObjects: [NINearbyObject], "reason: NINearbyObject RemovalReason)," reason is the timeout.
iOS18.0.1 does not call didRemove and fails to connect automatically after 10 minutes on the disconnected Accessory.
iOS18.2 does not call didRemove. After 10 minutes, when the Accessory is not connected, it automatically connects and starts ranging.
Therefore, I would like to ask what is updated in iOS18 UWB? Is there a document for reference, or can you provide the callback performance of each iOS version for UWB?
The code is as follows:
niConfiguration = try NINearbyAccessoryConfiguration(data: Data(AccessoryUwbConfigData))
uwbSession.run(niConfiguration)
Nearby Interaction
RSS for tagLocate and interact with nearby devices using distance, direction, and identifier.
Posts under Nearby Interaction tag
19 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Dear fellow iOS developers,
I am interested in UWB technology and I am trying to build a dummy Indoor Navigation project.
I will be placing 3 third party UWB devices (hardware or chips) at some distance apart from each other.
I have 5 iPhones and I want to be able to connect all the 5 iPhones to the 3 UWB devices simultaneously and perform trilateration to get the iPhones x and y coordinates using the "distance" values obtained from the UWB devices (hardware or chips).
I have tried this approach using Qorvo DWM3000 chips but problem is that after the first iPhone connection, the chip stops advertising itself.
Is this approach possible?
Also, it is compulsory to establish NISessions? Can't I skip creating NISessions?
Thanks in advance. Forgive my english.
problem wifi and bluethoot no working
After declaring NSNearbyInteractionUsageDescription in accordance with the official documentation, a permission prompt used to appear asking if the user wants to allow Nearby Interaction permissions. Additionally, I could see two related permissions in the app’s settings. This behavior was working correctly on iOS 17.
However, after upgrading to iOS 18, the permission prompt no longer appears upon reinstalling the app, and the related settings are no longer visible in the app settings. I would like to confirm if there are any additional configurations required for iOS 18 to make Nearby Interaction permissions function as expected.
Thank you very much for your assistance.
https://developer.apple.com/documentation/nearbyinteraction/initiating-and-maintaining-a-session
ios 17: visable,
ios 18 : gone
The Nearby Interaction Accessory Protocol Specification defines a lightweight, transport-agnostic, and application-level protocol that facilitates configuring, starting, and maintaining an Ultra Wideband
(UWB) ranging session between an accessory and an Apple device. **An app on a supported UWBenabled Apple device is required in order to allow users to set up, configure, and use their accessories.
Does this app need us to develop?
Can I use the Find My app to add my accessories and use the UWB high-precision lookup feature?
Hi everyone,
I’m having trouble getting my iPhone 11 to detect a DWM3001CDK as an accessory using the Apple Nearby Interaction app. Here’s the background:
Two years ago, I successfully tested UWB ranging between the same devices (iPhone 11 and DWM3001CDK, which is based on the Qorvo DW3110 IC and an nRF52833 SoC with Bluetooth 5.2). At that time, the Nearby Interaction app was in beta and worked well for my tests. Now, with the stable version of the app, I’m encountering an issue.
Here’s what I’ve done so far:
I erased the DWM3001C and flashed it with the Qorvo Nearby Interaction firmware (v3.2.0, "DWM3001CDK-QANI-FreeRTOS_full_QNI_3_0_0.hex") using J-Flash Lite V7.86g on Windows.
With this configuration, I can connect the iPhone 11 to the accessory using the Qorvo NI apps, both in the foreground and background.
However, when I compile and run the project "ImplementingSpatialInteractionsWithThirdPartyAccessories" (available on the Apple Developer website) on my iPhone 11 (running iOS 17.7), the app remains stuck on the "Scanning for accessory" screen and doesn’t find the device, even though I’ve given the app permission to use Bluetooth.
Could this be due to an issue with the firmware I flashed on the DWM3001CDK, or might there be something else causing the problem?
Any help or insights would be appreciated!
Thanks in advance.
I’m thinking about making an app that requires two UWB things to work. I can’t seem to find anything about them and I haven’t got the money to just try it out. The questions are:
how far can the iPhone be to a moving UWB chip to make a connection?
can this work in the background? If so, is it intermittent?
i need to be able to detect moving objects pretty reliably and have the app respond when it isn’t open. I guess a bit like the Covid tracking stuff.
would the Apple frameworks allow for me to do this?
Hi,
We try to geolocate with UWB signal an app in background with NXP UWB Kit.
We use Nearby Interaction method in background
Apple documentation indicate to use this class: NINearbyAccessoryConfiguration
but we have this error when we try to create the session: NIERROR_ACCESSORY_PEER_DEVICE_UNAVAILABLE_FAILURE_REASON
any body can help us to use successfully this functionnality ?
Hi all! Do you know if there is a sample project in Swift that I can use to detect obstacles using the Ultra Wideband?
Hi,
The nearby interaction app provided by apple gives me a range of just 15m and frequent data stops with my UWB hardware. However, the NXP Trimensions AR app gives a distance of more than 30 m with the same hardware non stop.
Could anyone help me solve this issue
Thank you
https://developer.apple.com/documentation/nearbyinteraction/implementing_spatial_interactions_with_third-party_accessories
I understand that the Nearby Interaction framework is available on watchOS 8+, and I want to make a watch app that displays distance estimation between multiple watches (not iPhones) using UWB through Nearby Interactions.
I see in the documentation that an iPhone can discover multiple device "discovery tokens" and create NISessions with them using the Multipeer Connectivity framework, but it looks like the Multipeer Connectivity framework is not available on watchOS?
So, how might I make an independent watch app that can discover multiple nearby watches and setup NISessions with them?
Thanks!
Hello dear when i use geolocator after i'll get this error
Could not build the precompiled application for the device.
Error (Xcode): Undefined symbol: OBJC_CLASS$_LocationServiceStreamHandler
Error (Xcode): Undefined symbol: OBJC_CLASS$_PositionStreamHandler
Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation)
Error launching application on iPhone.
and didn't app running so plz guide i'm a too much upset
I'm trying to develop a iOS mobile app with using flutter, which can scan nearby wifi access points and connect to a one of them. I ran the app on a physical device with a free apple developer account. When I scan for the wifi access points, it throws an error with saying wifi scan is not supported. I just used wifi_scan library in flutter.
Is it required to have a paid developer account to test this feature (wifi scanning and connection) ?
Does iOS natively give the access to apps to scan wifi?
Thanks
Hello,
We are working with Nearby Interaction (UWB) technology to provide high-accurate location use cases to our customers.
According to Apple's documentation, in order to enable background sessions starting iOS16, the two devices need to be paired. The accessory needs to implement Nearby service and mandated encrypted characteristic.
https://developer.apple.com/documentation/nearbyinteraction/ninearbyaccessoryconfiguration
So far we tested this with "PIN-based" secure pairing and everything works fine.
Can you confirm if "Just works" PIN-less pairing is expected to work as well here? The documentation is not clear on this respect. We would basically indicate IoNone local capabitilities for the accessory gap parameters if this is expected to work.
Thanks in advance!
Regards.
I am making an app like Taxi Driving, where users can add location and driver to that location. The problems I am facing are below:
Drawing a route on MKMap - I get the route polyline and I render that on the map. Now what should happen as I am driving, the drove part of the polyline should get removed or may be turned grey, non-drove part should be blue. Currently, I am only able to do this by again getting a route from my current location and re-drawing on the map which is not a good thing I suppose.
Show driving instructions - I need to show step-by-step instructions which I get in the MKStep under the MKRoute object. But I don't get the icons that I can show such as Turn Right or Turn left the only thing I have is plain text. I need an icon along with it and also how to identify once I have crossed the step and show the next step as my next instruction.
These two are the major problems I am facing and I need to do this with Apple native map view itself so no third-party integration I want.
We are implementing indoor positioning and proximity sensing in our iOS app using iBeacons. We have placed multiple beacons to detect the proximity of one point of interest(POI). We are using the startRangingBeacons method in the CLLocationManager class and implementing corresponding delegates to receive the ranging information. With all required foreground and background permissions granted, when a user walks from one POI to another, beacon ranging is working as expected and we are continuously receiving the sightings in the app.
We have observed that, if user stops walking for a few minutes at a POI and then device automatically pauses the scan. Hence, we will not receive any beacon signals. When there is a movement, it performs beacon ranging again for a minute or so, then stops again for longer time even when user is walking. The interval between the pausing and resuming the service is not a constant. We have also observed that sometimes it takes more than 15 minutes to resume the service once the system pauses the ranging automatically. Is it an expected behavior? How long does it usually take for beacon ranging services to resume after the user starts moving? Is there any way we can reduce this delay between the pause and resume of ranging beacons?
Appreciate your support
Hello,
I have a question regarding the UWB (Nearby Interaction) distance measurement feature.
When testing with the iPhone 14 and UWB devices (DWM3000, DW3210, NXP SR040, SR150), measurements are possible up to 5-10 meters in an indoor environment without obstacles.
However, when the UWB device is inside a car, distance measurement is possible only up to about 2-3 meters from outside the car.
Based on these tests, Nearby Interaction seems to be a feature designed for close-range (visually perceptible distances, around 4 meters or so). It appears that the distance range for utilizing Nearby Interaction is somewhat limited.
Do you have any data on the maximum distance range for UWB distance measurement with an iPhone?
Scenario: We have a museum where each exhibit has a UWB BLE accessory. A user moves around the museum with their phone application in the background. Once a user enters an exhibit area (Determined by UWB distances) a background task is initiated (audio/notification/widget).
The Question: In our current understanding of the protocol, the user must pair to each exhibit anchor beforehand, significantly impairing the user experience and bloating their Bluetooth-paired device list. Is it possible now or potentially in the future to not require pairing for pre-approved devices? Alternatively, pairing to a hub that acts as an intermediary between the phone and accessories also seems like an appropriate compromise.
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.