What causes (and how can I advise a customer to avoid) error -104 (BLE_CONNECTION_UNAVAILABLE)?

Hi,

I've got somebody using one of my watch faces who is consistently running into -104 (BLE_CONNECTION_UNAVAILABLE) errors. He has occasionally seen a good result, so the configuration and code is fine, but he (and he appears to be an isolated case) seems unable to consistently get background connections working.

Some background:

1. I schedule background calls every five minutes until I get a good result.

2. When I get a good result, I drop back to a call after roughly 24 hours.

3. If the scheduled call is unsuccessful, I revert to every five minutes until I get a good result.

4. This is mature code that is widely used (and I use myself) with no issues for the majority of users.

So...

It looks a lot like it is local settings that are conflicting with the watch / phone / network transit somehow.

  1. Are there any privacy settings on phone or watch that could be conflicting? (He has iPhone and has both of Connect IQ and Connect apps - ConnectIQ was marginally more reliable.)
  2. Are there any network access settings on phone that could be conflicting?
  3. Etc,

Thanks,

G