react-native-ble-plx: [iOS] monitorCharacteristicForDevice fails with error Characteristic 0000ffe1... notify change failed for device 4221AED1... and service 0000ffe0... on sensor tag

Expected Behavior

To be able to subscribe using monitorCharacteristicForDevice() as expected on iOS.

Current Behavior

On iOS trying to monitor the button pressed characteristic on an Sensor Tag/iTAG fails returning the following BleError: Characteristic 0000ffe1… notify change failed for device 4221AED1… and service 0000ffe0….

Context

The strangest thing is that the very same code DOES WORKS perfectly well on Android, being able to observe Sensor Tag/iTag button presses without getting any issues.

  • Library version: 2.0.0
  • Platform: iOS
  • Formatted code sample or link to a repository:
const subscription = bleManager.monitorCharacteristicForDevice(
  deviceId,
  serviceUuid,
  characteristicUuid,
  (error, result) => {
    if (error) {
      console.log("ERROR ON MONITOR =", error);
      return;
    }
    console.log("MONITORED =", result.value);
  }
);

Am I missing some extra step on iOS that is not required on Android?

Thanks in advance!

Cheers,

Federico

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 25

Commits related to this issue

Most upvoted comments

@ariccio for me, the problem was that I tried to “write with a response” to a characteristic that is “without response” and for some reason android let me do it, but ios did catch my error. I suggest you use some Bluetooth test app like “nFR Connect” to see what your services and characteristics are.