2017-09-10 16 views
1

iOS 장치가 BLE를 통해 연결하는 장치의 MAC 주소를 가져오고 싶지만 UUID 만 볼 수 있습니다.iOS - CBPeripheral 개체에서 주변 장치의 MAC 주소를 가져옵니다.

웹을 통해 문제를 검색하면 MAC을 얻을 수 없지만 UUID에서만 문제가되는 것으로 알고 있습니다. 나는 또한 UUID가 iOS에 의해 생성되었고 장치가 "알지 못한다"는 것을 알았습니다 ... 그러나 발견 된 게시물은 오래된 것 (2-3 세) 이었으므로 어떤 것이 있는지 궁금합니다. 변경 되었습니까? UUID가 아닌 MAC을 얻는 방법이 있습니까? 아니면 적어도 iOS가 UUID를 MAC 주소로 다시 변환하는 과정을 재현 할 수 있습니까? 아이폰 OS 불가능 사전

+0

아니요, 변경된 사항은 없습니다. 코어 블루투스는 BLE 위에 구축 된 추상화 계층입니다. 식별자에서 MAC 주소를 얻는 방법이 없으며 식별자가 생성되는 프로세스가 문서화되지 않았습니다. – Paulw11

+0

장치와 페어링하면 UUID가 변경되지 않아야합니다. 한 가지 방법은 MAC 주소에 특성을 제공하는 것입니다 (장치 소프트웨어를 제어 할 수있는 경우). 그러나 그것은 iOS로 구축 된 보호 장치와 고급 기능을 둘러싼 것입니다. – Larme

답변

1

에서

덕분에 CBPeripheral 개체의 MAC 주소를 얻을 수 있습니다. "kCBAdvDataServiceData"값에 CBPeripheral 객체 광고 MAC 주소가 있으면 MAC 주소로 변환합니다. 그렇지 않으면 불가능합니다. iOS에서 고유 ID는 CBPeripheral의 UUID입니다. 모든 diff. iOS 기기는 diff를 표시합니다. 같은 CBPeripheral의 UUID. 두 개 이상의 CBPeripheral 객체를 구별하려면 RSSI 범위/값을 사용하십시오.