2016-02-22 1 views
2

Je peux lire et écrire des données à partir de mon application iOS (centrale). Juste après l'appel du délégué connectPeripheral:periphal, le système d'exploitation émet une alerte demandant le code PIN d'authentification avec deux boutons "Annuler" et "Paire".Délégués non disponibles sur l'authentification BLE

Je ne peux recevoir aucune notification lorsque l'utilisateur appuie sur le bouton «Annuler» ou «Paire». Je ne suis pas non plus capable de détecter si l'appariement est réussi ou non.

self.peripheral.state retourne toujours 2 (connecté)

+0

Pour annuler, il y a un délégué. Mais lorsque la paire est réussie, il n'y a pas de délégué. Demandé la même question aux gars d'Apple et d'attendre une réponse. De même, lorsque l'utilisateur appuie sur "Annuler" ou n'introduit aucune broche pendant 30 secondes, ou saisit une mauvaise broche, le même délégué est appelé. Et le code d'erreur dans le délégué est identique pour tous les cas. J'attends qu'Apple corrige le problème dans les prochaines versions. –

+0

Pouvez-vous donner plus de détails sur la méthode déléguée lorsque l'utilisateur appuie sur le bouton "Annuler" pendant la demande d'appariement. Dans cette question [Dans CBPeripheralManager, comment savoir si l'utilisateur appuie sur un bouton d'annulation quand il essaie d'appairer] (http://stackoverflow.com/questions/34131132/in-cbperipheralmanager-how-to-know-if-user-push -a-cancel-button-when-its-tryin), Oleshko a suggéré que peut-être la méthode didFailToConnectPeripheral de CBCentralManagerDelegate est appelée. J'ai essayé mais ça ne s'appelle pas. –

+0

@Sunil, didDisconnectPeripheral: le délégué est appelé lorsque vous appuyez sur le bouton Annuler. –

Répondre

0

Je l'ai fait des recherches pour la manipulation Annuler cas de popup appariement mais malheureusement Apple ne fournit pas de délégué à manipuler.