2017-10-03 1 views
0

Dans mon application, je vérifie si bluetooth est allumé, si est éteint je montre l'alerte à l'utilisateur afin de l'activer. Pour cette fonctionnalité j'utilise centralManagerDidUpdateState et vérifie [état central]. Sur iOs 10 appareil fonctionne bien, mais, sur iOs 11 ne fonctionne pas, toujours retourner CBCentralManagerStatePoweredOff après cela:centralManagerDidUpdateState toujours retourner PoweredOff

1.- Je vais à la configuration et j'éteins le bluetooth.

2.- J'ouvre l'application, le callback centralManagerDidUpdateState est appelé et PoweredOff est détecté.

3.- Je vais à la configuration et j'allume le bluetooth.

4.- Je reviens à l'application, et centralManagerDidUpdateState est appelé et PoweredOff est toujours l'état lorsque le bluetooth est activé.

Est-ce un problème iOs 11 bug ?, quelqu'un sait une solution pour vérifier si le Bluetooth est allumer?

Merci

Répondre

1

J'ai également fait face au même problème. Je testais la fonctionnalité BLE en utilisant cet exemple de projet "https://github.com/jasonmgeorge/BLEScanner" un appareil sur iOS 10.3.3 et un autre sur iOS 11.2. Sur iOS 10.3.3, ça fonctionnait bien mais sur l'autre appareil, je recevais la même erreur tout le temps. Puis je me suis aperçu que

NSBluetoothPeripheralUsageDescription

était pas Info.plist, donc j'ajouté. Encore une fois j'ai "CBCentralManagerStatePoweredOff". Je suis allé aux paramètres pour éteindre Bluetooth et à nouveau. Ça fonctionne magiquement. C'est un bug iOS 11 très probablement. Veuillez vérifier votre implémentation. Ce n'est pas très cohérent mais parfois ça marche.