-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
wklm edited this page Mar 18, 2026
·
3 revisions
On iOS Safari, the most common issue is that the user enabled the extension but did not grant website permissions.
Guide users to:
- tap
aAin the Safari address bar - tap the
iOSWebBLEextension icon - choose
Always Allow - choose
Always Allow on Every Website
Allow for One Day expires silently and often looks like a broken integration later.
- On iOS Safari: the extension is not installed or not granted permissions
- On Firefox: Web Bluetooth is not supported
- On Chrome or Edge: Web Bluetooth should work natively
Safari iOS requires a direct user gesture. Move the call into a click or tap handler.
button.addEventListener('click', async () => {
const device = await ble.requestDevice({
filters: [{ services: ['heart_rate'] }],
});
});Do not call requestDevice() from useEffect, DOMContentLoaded, timers, or startup code.
Use HTTPS in production. Web Bluetooth requires a secure context.
If a background registration includes template.url, it must:
- use
https:// - match the same origin as the registering page
- Hosted demo: https://ioswebble.com/demo
- Hosted docs: https://ioswebble.com/docs
- GitHub Issues: https://github.com/wklm/ioswebble-sdk/issues
- Email: mailto:support@ioswebble.com
- Product page: https://ioswebble.com/product