Nearby Interaction

RSS for tag

Locate and interact with nearby devices using distance, direction, and identifier.

Posts under Nearby Interaction tag

15 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

APP Background Keep-Alive
Dear Apple: We are developing an app for file sharing between mobile devices. We want to create an iOS app that can continue sharing files with other devices even when it is running in the background. We are using WLAN channels for file sharing. Could you please advise on which background persistence measures we should use to ensure the iOS app can maintain file transfer when it goes to the background? Thank you.
1
0
33
17h
Using Google Maps in App to determine distance
So far, we have been using Google Maps to determine distance along a certain route for a MacOS app to register kilometers for a business administration app. But, this is no longer possible, as the login for google maps no longer works. I understand we would have to pay to continue using the Google Maps service as it was and we would have to make changes to the app. That would be ok, but I was just wondering does any developer on this forum have suggestions on how to resolve this issue? Or even maybe have suggestions, to make this work better than before. Three suggestions by chatgpt: use ANWB route planner using google maps, Pro6pp, or to useWisp.Software (something I haven't heard of before. Your suggestions and ideas are welcome. Also, if the Apple Developer team knows of a way how to do this in your app, your advice is more than welcome. Have a nice day!
2
0
280
Feb ’25
NIERROR_ACCESSORY_PEER_DEVICE_UNAVAILABLE_DESCRIPTION (Code=-5882) occurs when running NISession for Nearby Interaction.
Overview I am running a NearbyInteaction sample. Immediately after niSession.run(configuration!), func session(_ session: NISession, didInvalidateWith error: Error) is executed. The error is as follows, but I cannot find the cause. Error: bluetoothPeerIdentifier: AF5ADDC1-F731-7BAD-E8C5-9230E79F8C1A Session Invalidation Error: NIERROR_ACCESSORY_PEER_DEVICE_UNAVAILABLE_DESCRIPTION Error Details:Error Domain=com.apple.NearbyInteraction Code=-5882 "NIERROR_ACCESSORY_PEER_DEVICE_UNAVAILABLE_DESCRIPTION" UserInfo={NSLocalizedRecoverySuggestion=NIERROR_ACCESSORY_PEER_DEVICE_UNAVAILABLE_RECOVERY_SUGGESTION, NSLocalizedDescription=NIERROR_ACCESSORY_PEER_DEVICE_UNAVAILABLE_DESCRIPTION, NSLocalizedFailureReason=NIERROR_ACCESSORY_PEER_DEVICE_UNAVAILABLE_FAILURE_REASON} The sample application worked well at first. I want the application to run in the background, so I made the following changes and had problems. Before change: configuration = try NINearbyAccessoryConfiguration(data: configData) After change: configuration = try NINearbyAccessoryConfiguration( accessoryData: configData, bluetoothPeerIdentifier: peerIdentifier) I see no problem with the application. It works fine on device A. The problem occurs on device B. Device A: NXP QN9090 - NXP SR150 Device B: Nordic nRF52840 - NXP SR150 I have confirmed that the device shows up in the settings app after pairing & bonding the device. I have confirmed that the iPhone and nRF52840 are still connected to the BLE without any problems when the error occurs. Initialization code for NearbyInteraction: func setupAccessory(_ configData: Data, name: String) { updateInfoLabel(with: "Received configuration data from '\(name)'. Running session.") do { guard let discoveredPeripheral = dataChannel.getDiscoveredPeripheral() else { return } let peerIdentifier = discoveredPeripheral.identifier configuration = try NINearbyAccessoryConfiguration( accessoryData: configData, bluetoothPeerIdentifier: peerIdentifier) } catch { // Stop and display the issue because the incoming data is invalid. // In your app, debug the accessory data to ensure an expected // format. updateInfoLabel( with: "Failed to create NINearbyAccessoryConfiguration for '\(name)'. Error: \(error)" ) return } // Cache the token to correlate updates with this accessory. cacheToken(configuration!.accessoryDiscoveryToken, accessoryName: name) niSession.run(configuration!) } Environment Xcode 16.1 iPhone11 (iOS 17.6.1) Target UWB Chip: NXP SR150 Sample iOS Application: https://developer.apple.com/documentation/nearbyinteraction/implementing-spatial-interactions-with-third-party-accessories
1
0
338
Feb ’25
Discovering peers from Apple TV app
I have an idea for a game where the Apple TV app acts as the host and discovers nearby iOS apps that can join the game. Each iOS app needs to be able to have the user draw, tap, etc and have all the events be delivered in real time to the Apple TV where the effects will be rendered immediately (imagine a co-op game played in your lounge room where guests user their own devices to control aspects of the UI on the shared Apple TV screen) MPC is discontinued and DeviceDiscoveryUI is limited to only a single iOS device so I’m trying to figure out the best way to do the P2P networking. Reading/watching videos suggests that using GKMatchMaker and friends seems like it might suffer from latency problems (because everything has to go via Game Centre - or does it?) plus I’m not sure how I’d deal with the fact that the owner of the Apple TV is likely to signed into the same game centre id on both the Apple TV and their own devices to which would mean they wouldnt be able to play because the host can’t invite “themselves” on another device (or can it?) Soooo… I’m looking for suggestions on how best to move forward. I’ve read https://developer.apple.com/documentation/technotes/tn3151-choosing-the-right-networking-api which is very useful but there’s no clear suggestion that would work. Using the Network for the real time messaging seems doable but dealing with discovery / invites seems like a massive pain that I’d prefer to use built-in libraries if possible. Any suggestions would be gladly received. Thanks a lot
3
0
428
Jan ’25
The UWB performance of iOS18 is different from that of iOS17
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)
0
0
440
Dec ’24
Issue with UWB ranging on DWM3001CDK using NINearbyAccessoryConfiguration in Background mode
Hi, I’m trying to perform UWB ranging between an iPhone and a Qorvo DWM3001CDK accessory using Apple NI’s NINearbyAccessoryConfiguration class. I’ve followed the steps described in the official Apple documentation (https://developer.apple.com/documentation/nearbyinteraction/ninearbyaccessoryconfiguration), specifically for enabling background mode using the init(accessoryData:bluetoothPeerIdentifier:) initializer. The configuration is successfully created, and background mode is enabled. However, when the iPhone starts the session, I doesn’t receive any ranging data from the DWM3001CDK, and the session ends with a timeout. Interestingly, if I use the init(data:) initializer, I can successfully receive ranging data, but this only works in foreground mode, which doesn’t meet my requirements. Steps I’ve followed: Used Core Bluetooth to discover and pair the accessory. Retrieved the configuration data from the accessory according to the third-party UWB device specifications. Initialized the configuration using NINearbyAccessoryConfiguration(accessoryData:bluetoothPeerIdentifier:) for background mode. Started the session with NISession.run(configuration). Waited for updates in the delegate method session(_:didUpdate:). Specific questions: Are there additional requirements for using init(accessoryData:bluetoothPeerIdentifier:) to enable background UWB ranging with the DWM3001CDK? Is there a known difference in how init(data:) and init(accessoryData:bluetoothPeerIdentifier:) handle the ranging process? Any advice or insights would be greatly appreciated. Thanks in advance!
1
0
317
Mar ’25
Is it possible to connect a single third party UWB device (hardware or chip) to multiple iPhones at the same time?
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.
0
0
282
Dec ’24
Inquiry Regarding NSNearbyInteractionUsageDescription Permission Behavior on iOS 18
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
0
0
498
Oct ’24
Find My and Nearby Interaction Accessory
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?
3
0
902
Oct ’24
Issues with Apple Nearby Interaction app not detecting DWM3001CDK accessory
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.
0
0
505
Oct ’24
A few questions on UWB on iOS
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?
1
0
576
Sep ’24
Nearby Interaction (UWB) Background problem
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 ?
0
0
791
May ’24
nearby interaction
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
0
0
701
Apr ’24