When using writeCharacteristicWithoutResponseForDevice consecutively in iOS:
- First write operation succeeds
- Second write operation hangs/fails
- Works as expected on Android
try {
dispatch(setWifiSubmitCounter());
setScanning(true);
await BLEService.writeCharacteristicWithoutResponseForDevice(
uuidLib.SERVICE_UUID,
uuidLib.PASS_UUID,
btoa(wifiPassword),
);
await BLEService.writeCharacteristicWithoutResponseForDevice(
uuidLib.SERVICE_UUID,
uuidLib.SSID_UUID,
btoa(selectedSsid),
);
setOpenModal(false);
await BLEService.setupMonitor(
uuidLib.SERVICE_UUID,
uuidLib.CONN_STATUS_UUID,
(data: any) => {
setScanning(false);
if (data.value && atob(data.value) === 'success') {
dispatch(setBleStatus({bleStatus: 'connected'}));
showToast('success', 'Device Connected To WiFi Successfully!');
navigation.replace('Submit Device', {deviceImei: deviceImei});
} else {
if (submitCounter >= 4) {
dispatch(setBleStatus({bleStatus: 'maxTries'}));
BLEService.disconnectDevice();
navigation.navigate('Scan Device');
}
showToast('error', 'Wifi connection failed, Please Try Again!');
setWifiPassword('');
}
},
(error: any) => {
console.log('error -->', error);
},
);
} catch (error) {
if (error === 'Device was disconnected') {
navigation.goBack();
}
}
};
< /code>
среда: < /strong> < /p>
[*] Версия IOS: 18.3.1 < /p>
< /li>
react-native-ble-native-ble-plx < /br /> < /li>
react-blx < /br /> < /li>
react-blx ': "^3.1.2"
[*] Я проверил установку iOS
[*] Попробовал добавить sertimeout
[/u]
Подробнее здесь: https://stackoverflow.com/questions/795 ... -ios-works
Мобильная версия