Obtenir des données de publicité pour BLE dans iOS
Je suis en création d'une application qui reçoit l'UUID de tous les BLE des dispositifs au sein de la gamme. J'ai obtenu il fonctionne très bien dans Android, où il me donne de la publication de données comme un tableau d'octets. Maintenant, je suis en train de faire la même chose dans iOS.
Je suis en train d'exécuter un scan et il détecte l'appareil, et dans le rappel il y a un NSDictionary appelé advertisementData. Mais la seule information est comme suit:
kCBAdvDataChannel = 39;
kCBAdvDataIsConnectable = 1;
kCBAdvDataLocalName = jaalee;
kCBAdvDataTxPowerLevel = 0;
Suis-je en droit de penser que je devrais faire de l'intégralité de la publicité paquet? Si non, comment puis-je l'obtenir?
source d'informationauteur user2564511 | 2014-04-03
Vous devez vous connecter pour publier un commentaire.
Malheureusement, iOS ne vous permet pas d'accéder à la crue de la publicité des données. J'ai écrit un post de blog de le démontrer.
Alors que le post est spécifiquement sur les iBeacons, il s'applique à toute MESURE de publicité.EDIT: Pour clarifier, vous pouvez lire les octets brutes de non-iBeacon publicités. C'est seulement le iBeacon annonces qui ont leur octets caché par
CoreLocation
. Voir ici: L'obtention de Bluetooth LE scan des données de réponse avec iOSL'équivalent OSX CoreLocation méthodes ne permettent cela, il est donc probablement intentionnel de sécurité ou d'économie d'énergie restriction sur iOS.
Basé sur la documentation officielle d'iOS d'Apple et de mon expérience personnelle:
MAIS
Si votre intention est de mettre l'information dans la publicité de paquets et de les lire à partir de l'application iOS sans se connecter avec le périphérique, c'est possible de le faire.
Ici est décrit comment:
1) dans la zone périphérique de firmware vous devez insérer votre fabricant specifica de données dans la publicité de paquets, avec le type de données GAP_ADTYPE_MANUFACTURER_SPECIFIC (0xFF)
Rappelez-vous que dans le Spécifique au Fabricant les Données, les 2 premiers octets contiennent l'Identificateur d'Entreprise Code de suivi par le fabricant supplémentaire des données spécifiques
2) dans l'iOS
Vous pouvez voir le fabricant de données spécifique dans advertisementData dictionnaire clés:
3) si vous voulez que votre Application recevoir un rappel de notification de chaque publicité paquet envoyé par le périphérique iOS, n'oubliez pas de changer l'option de numérisation à OUI. Regarde ce post: Core Bluetooth - constant RSSI mises à jour de la gamme des appareils
De mon blog sera bientôt un tutoriel: http://www.megabri.com/