Post

Replies

Boosts

Views

Activity

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
289
1w