-
Notifications
You must be signed in to change notification settings - Fork 85
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
iOS 16.4.1 Scan doesn't return service uuids #528
Comments
It may be related to my #527 issue (missing local name in scan response). Somebody made the suggestion of trying allowDuplicates=true in the scan options. You will get duplicates but I am now able to see the local name. |
Thanks for the quick reply, I can confirm that I do have the issue with local name as well, but it's not a problem in my case. Thanks for the hint with allowDuplicates. I use it sometimes for a subset of devices that send state info in the advertisments, but I wouldn't want to use it for everything. Gladly, I was able to fix my problem by applying a uuid filter when on iOS. I hope that the App Store review is fast this time, because we have angry customers and it costs us real money. One of the problems with the issue is, that it doesn't occur on all devices. On my iPhone 11 Pro Max that I usually use for testing the issue doesn't appear. I think the reason might be that Apple caches some information about devices like the device name and service uuids. If you have scanned the device before the upgrade to 16.4.1 the information is in the cache and everything seems to work, whereas new users of the app would experience the issue. I was only able to reproduce the issue after I used an iPhone that didn't have our app installed before. |
I suspect this and the local name issue is not a bug in bluetooth-le, but rather in iOS bluetooth core: https://developer.apple.com/forums/thread/728842 |
@eppleton iOS caches a lot of data about previously seen Bluetooth devices. To fully clear the caches, I believe you need a full phone factory reset to avoid the caching behaviour there for advertising packets. |
Still an issue, is there any workaround on this? |
Somebody made the suggestion of trying allowDuplicates=true in the scan options. You will get duplicates but I am now able to see the local name. |
Yeah tried that one but still the same |
Hi, |
Up to iOS version 16.4.1 a BLE Scan without setting a filter for service ids would return devices with the service uuids from the advertisement. This behavior has changed and in version 16.4.1 the uuids are no longer returned.
Applying a filter for service uuids fixes thew problem. For background: we have a cross platform app and had to disable filters, because some older Android devices do not support filtering for services (they will simply not find any devices).
The text was updated successfully, but these errors were encountered: