2017-10-18 2 views
0

그래서 나는 BLE 장치로 작업하는 데 어려움을 겪고 있으며 데이터입니다. BLE 장치에서 읽을 때 데이터는 데이터 개체에 저장됩니다. 이제이 예제에서는 확인할 수있는 쉬운 시간으로 Epoch 시간을 가져 보겠습니다. 따라서 포드 Bluejay는 데이터를 저장하고 데이터를 인쇄 할 때 debugPrint("Epoch Time: \(data as NSData)")을 입력하면 결과는 "Epoch Time: <869c0200>"이됩니다. 지금까지 그렇게 잘 생각했습니다. 869c0200 값을 복사하여 Mac 계산기 (프로그래머 모드)에 넣으면 바이트 플립을 수행하고 웹 사이트 epochtimeconverter으로 확인하십시오. 1970 년에 날짜가 맞습니다. 배터리가 완전히 소모 된 후 1970 년에 항상 재설정되기 때문에 중단 점을 설정하고 몇 가지 값을 봅니다.
_bytes UnsafeMutableRawPointer? (_rawValue = 0x00000001c04364b0)
_rawValue Builtin.RawPointer 0x1c04364b0 각기 다른 시각을 제공합니다. 저를 도울 수있는 사람이 있나요?이 데이터를 올바른 방법으로 어떻게 해석해야합니까?iOS 설명 BLE 데이터 및 바이트 swift 3

요약 : "내 BLE 장치에서 획기적인 시간을 올바르게 읽거나 조작하려면 어떻게해야합니까?"

미리 감사드립니다.

답변

1

인쇄하려는 방식대로 NSData를 인쇄 할 수 없습니다. 문자열 (바이트 배열)로 변환해야합니다.

예 :

let yourDataByte = [UInt8](advertiseData as! NSData) 

let yourString = String(NSString(format:"%02X", Int(yourDataByte[0])))