2017-09-10 43 views
1

Je souhaite obtenir l'adresse MAC de l'appareil auquel mon appareil iOS se connecte via BLE, mais je ne peux voir que l'UUID. J'ai compris à partir de la recherche du problème sur le Web que ce n'est pas possible d'obtenir le MAC, mais seulement en UUID. J'ai aussi compris que l'UUID est généré par l'iOS et que l'appareil ne le "connait" pas ... cependant les articles que j'ai trouvés étaient vieux (2-3 ans) donc je me demandais si quelque chose avait modifié? Y at-il un moyen d'obtenir le MAC plutôt que l'UUID, ou au moins reproduire le processus que iOS fait pour convertir UUID en adresse MAC?iOS - Obtenir l'adresse MAC du périphérique à partir de l'objet CBPeripheral

Merci à l'avance

+0

Non, rien n'a changé. Core Bluetooth est une couche d'abstraction construite au-dessus de BLE. Il n'y a aucun moyen d'obtenir l'adresse MAC à partir de l'identificateur et le processus par lequel l'identificateur est généré n'est pas documenté. – Paulw11

+0

Si vous vous associez à l'appareil, l'UUID ne devrait pas changer. Un moyen de contourner est de fournir une caractéristique avec l'adresse MAC (si vous avez le contrôle sur le logiciel de l'appareil). Mais cela tourne autour de la protection et de haut niveau qui est construit avec iOS. – Larme

Répondre

1

Dans iOS pas possible d'obtenir l'adresse MAC de l'objet CBPeripheral. Si l'adresse MAC de l'objet CBPeripheral adresse dans la valeur "kCBAdvDataServiceData", alors convertir en adresse MAC, sinon impossible. Dans iOS, l'identifiant unique est UUID pour CBPeripheral. Chaque diff. appareil iOS montre diff. UUID du même CBPeripheral. Si différenciez deux objets CBPeripheral ou plus, utilisez la plage/valeur RSSI.