2012-11-15 2 views
2

Avant de passer à iOS6, tout cela a bien fonctionné, mais maintenant quand je lanceiOS6 ne déconnecte pas Bluetooth intelligent/LE périphérique

[centralManager cancelPeripheralConnection:peripheral]; 

le rappel se déclenche

-(void) centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral  *)peripheral error:(NSError *)error{ 
NSLog(@"Disconnected"); 
NSLog(@"Error: %@", [error localizedDescription]); 
} 

et les sorties console

Disconnected 
Error: (null) 

Encore, le périphérique n'est pas déconnecté jusqu'à ce que je mette le bluetooth dans les paramètres ou le tour du téléphone (j'ai un statut connecté sur le périphérique). Est-ce que quelqu'un d'autre a découvert ce problème spécifique iOS6?

Répondre

1

Je crois que c'est une fonctionnalité (si vous voulez l'appeler comme ça) de iOS6. C'est juste un moyen de ne pas perturber les autres applications qui pourraient utiliser la connexion (ou il pourrait être au milieu d'une procédure d'appariement). Cela peut prendre jusqu'à 45 secondes avant de se déconnecter.

Si possible, la meilleure solution pourrait être de déclencher la déconnexion du périphérique, puis la déconnexion se produirait tout de suite.

http://lists.apple.com/archives/bluetooth-dev/2012/Sep/msg00090.html

+0

C'est triste à entendre. Mon périphérique est un hélicoptère, et la déconnexion sert à arrêter les moteurs, alors peut-être que je dois juste envoyer 0-data avant la déconnexion. Je vous remercie. – chwi

Questions connexes