-
Notifications
You must be signed in to change notification settings - Fork 514
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 device.manufacturerData is undefined, however device.rawScanRecord has valid manufacturerData data. #1138
Comments
This happens on our application too, downgraded to 2.0.3 and it works. I assume this is because of the switch to the MultiplatformBleAdapter library? |
@KamilNatonek I tried your PR using patch-package and I don't think that fixes the issue, I seem to be getting |
@MahmoudNafiseh thanks for info, I will continue working on it |
@MahmoudNafiseh in the meantime can you provide your current |
+1 same for me as well. |
@luca-tomasetti @MahmoudNafiseh Check this out -> #605 (comment)
|
#605 is not the same problem I am reporting. On iOS with 3.1.1 manufactuerData is always undefined, not just the first time. |
@KamilNatonek this is my output data:
|
@KamilNatonek I just installed the example app on my iOS device, I do get an undefined when I use your PR + the same logs you put |
As @supurloop my problem is not related with #605, on iOS with 3.1.1 I always received |
Prerequisites
Expected Behavior
The device object should be populating the device.manufacturerData field with a Base64 encoded string that is the manufacturer data in the advertisement. This had been working on both iOS and Android with 2.0.3, but after upgrading to 3.1.1 only Android sets the device.manufacturerData field, on iOS it is undefined.
Current Behavior
The device.manufacturerData should be a Base64 encoded string, it is undefined. I am certain that the received advertisement contains manufacturer data. It works on Android, and even on iOS I can still correctly extract the missing device.manufacturerData from device.rawScanRecord field so I know the data is being received by iOS. Again, this was working with 2.0.3 of the library on both iOS and Android, and is working on Android with 3.1.1 as well.
Library version
3.1.1
Device
iPhone 8/iOS 16.7.2
Environment info
Steps to reproduce
Formatted code sample or link to a repository
Relevant log output
Additional information
The Base64 decode of the above log output shows that there is manufacturerData. The value of the manufacturerData is valid for the particular device.
{"serviceData":null,"isConnectable":true,"txPowerLevel":null,"serviceUUIDs":["0000fca5-0000-1000-8000-00805f9b34fb"],"manufacturerData":"6gwBELDSeGVjnQ==","overflowServiceUUIDs":null,"localName":null,"solicitedServiceUUIDs":null}
The text was updated successfully, but these errors were encountered: