CBManagerState unsupported?

I can't figure out why I'm getting a CBManagerState of "unsupported" when I try to use Bluetooth in my app.


I checked the box that says "Uses Bluetooth LE accessories" in the Signing & Capabilities panel, and I added both of the privacy keys to my info.plist file.


When I first ran the app, it askedme whether I wanted to allow it to use Bluetooth, and I said Yes. I later confirmed that it was still set to Yes by checking the privacy screen in the Settings app.


My phone definitely supports Bluetooth, it is definitely turned on, and it works fine with other apps, including a different app that I was working on just yesterday.


There is very little documentation available for the "unsupported" state. The only other forum posts I could find turned out to be the result of someone forgetting to check the box in the project properties.


What else could cause this?

Any chance you have an additional (BTLE compatible) device to test that project against?

It appears that the problem is CBCentralManagerOptionRestoreIdentifierKey, which I specified as an option (with a string) when I initialized my manager.


Omitting this produces the poweredOn state, as expected, instead of unsupported.


Is this feature no longer supported?

Not according to the docs. I haven't seen any flakyness since iOS 11, so what you're seeing seems a bit odd.


What iOS versions does the project support and are you testing against?


Might need to file a bug against current tools/SDKs and see what comes back. Still no joy, consider burning a support ticket w/DTS to have them take a look at that project.

CBManagerState unsupported?
 
 
Q