기본적으로 크로스 플랫폼 응용 프로그램에는 nativescript가 사용됩니다. 이 응용 프로그램은 BLE 장치와 상호 작용합니다. BLE 장치는 iOS 측에서 NSData 개체로 검색 할 수있는 보급 패킷 다음에 검색 응답을 보냅니다.리틀 엔디안 바이트 순서 (iOS, BLE 스캔 응답)
설명 속성의 (의사) 출력은 다음과 같습니다. < 54fca267 0b00>.
출력은 주변 장치의 하드웨어 주소를 나타냅니다.
하드웨어 담당자가 이것이 리틀 엔디안이라고 말하면서 48 비트 문자열이라는 것을 알고 있습니다. 그것은 C로 쓰여진 펌웨어를 가지고있는 주변기기에서 나옵니다.
나는 하드웨어 주소를 우리 뒤에 저장할 수 있도록 문자열을 (올바른 엔디안과 함께) 변환하려고 며칠 썼습니다. 끝이지만 우아한 해결책을 제시 할 수는 없습니다.
하나의 해결책은 NSData 개체의 description 속성을 읽은 다음 수동으로 (자바 스크립트에서) '디코딩'하는 것입니다. 이 솔루션이 프로덕션 환경에 충분히 적합하다고 생각하지 않고 대신 네이티브 유틸리티를 사용하려고합니다. 내가 사용 시도
: 문서의 THIS 페이지에서 모든 인코딩 유형 ..with
NSString.alloc().initWithDataEncoding(mac, NSUTF8StringEncoding);
. 나는 답례로 무언가 또는 부정확 한 특성을 얻고있다.
앞서 말했듯이 이것은 NativeScript로 작성되었습니다. 그러나 나는 객관적인 C에 대해 잘 알고 있기 때문에 그 언어로 제공되는 예제를 변환 할 수 있어야합니다.
모든 입력 사항을 매우 높이 평가할 것입니다. 미리 감사드립니다!
올바른 주소입니다. 사과드립니다. OUI는 si-labs에 등록해야합니다. – AzraelPwnz
롭, 당신은이 질문에서 찾아보세요 수 : https://stackoverflow.com/questions/46518084/nativescript-get-string-from-interop-reference 내가 OBJ-C에서 작업하는 경우, 솔루션 것 황금 이었어! 즉, NativeScript (가능한) 제한으로 인해 stringWithFormat 메서드를 구현할 수 없습니다. – AzraelPwnz