2017-10-03 11 views
0

私のアプリでは、Bluetoothがオンになっているかどうかをチェックし、オフにするとユーザにアラートを表示して有効にします。この機能のために、私はcentralManagerDidUpdateStateを使用して[central state]をチェックします。 iOs 10デバイスは正常に動作しますが、iOs 11では正常に動作しません。この後、CBCentralManagerStatePoweredOffが返されます。centralManagerDidUpdateState常にPoweredOffを返します

1.-私は設定に行き、私はBluetoothをオフにします。

2.-私はアプリケーションを開くと、centralManagerDidUpdateStateコールバックが呼び出され、PoweredOffが検出されます。

3.-私は設定に行き、私はブルートゥースをオンにします。

4.-私はアプリに戻って、centralManagerDidUpdateStateが呼び出され、PoweredOffはまだBluetoothがオンの状態です。

この問題はiOS 11のバグですか?ブルートゥースの電源がオンになっていることを知っている人はいますか?

ありがとう

答えて

1

私も同じ問題に直面しました。私は、このサンプルプロジェクト "https://github.com/jasonmgeorge/BLEScanner"をiOS 10.3.3のデバイスとiOS 11.2のデバイスで使用して、BLE機能をテストしていました。 iOS 10.3.3ではうまくいきましたが、他のデバイスではいつも同じエラーが発生していました。それから私はその

NSBluetoothPeripheralUsageDescription

実現のInfo.plistではありませんでしたので、私は付け加えました。もう一度 "CBCentralManagerStatePoweredOff"を取得しました。私はBluetoothの電源を切って再びオンにする設定に行きました。それは魔法のように働いています。これはおそらくiOS 11のバグです。実装を確認してください。あまり一貫しているわけではありませんが、時には機能します。

関連する問題