2017-10-21 55 views
-1

Je suis conscient que dans iOS, nous ne pouvions pas obtenir l'identifiant du Mac des appareils directement. Y at-il un moyen, de sorte que si j'ai un identifiant MAC, puis-je le convertir en un identifiant, ce que donne CoreBluetooth.Comment convertir une adresse MAC connue en identificateur CBPheripheral?

Voici mon cas d'utilisation: J'ai un identifiant Mac provenant du serveur. Donc, dans la liste des appareils disponibles, je devrais me connecter avec l'appareil, qui a l'ID Mac connu. Une solution de contournement? Merci.

+0

Non, vous ne pouvez pas, à moins que vous inversez peut-être ingénieur du MAC "aléatoire" à UUID utilisé par iOS. Mais si vous avez le contrôle sur l'appareil, vous pouvez le mettre dans les données de publicité, ou une valeur caractéristique, qui pourrait vous aider à identifier le bon appareil à connecter. – Larme

Répondre

1

L'utilisation directe de l'adresse MAC est impossible. Mais il y a moyen d'identifier votre appareil, Services découvrant UUID. Il est API appelée

- (void)scanForPeripheralsWithServices:(NSArray<CBUUID *> *)serviceUUIDs 
           options:(NSDictionary<NSString *,id> *)options 

exemple:

[self.centralManager 
scanForPeripheralsWithServices:@[[CBUUID UUIDWithString:DEVICE_INFO_SERVICE_UUID]] 
         options:nil]; 

Aller pour les meilleures pratiques https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/BestPracticesForInteractingWithARemotePeripheralDevice/BestPracticesForInteractingWithARemotePeripheralDevice.html

plus d'info: https://medium.com/@yostane/getting-started-with-bluetooth-low-energy-on-ios-ada3090fc9cc