일반적으로 연결 후 다음 단계는 서비스를 검색하는 것입니다. 이제 모든 서비스에는 고유 한 특성이 있습니다. 위 전화에
peripheral.discoverCharacteristics(nil, for: service as CBService)
service as CBService
은 특성이있을 수도 있고 없을 수도 있습니다. 한 가지 일을하고 BLE 장치에있는 모든 서비스를 확인한 다음 모든 서비스에 대한 특성을 알아내는 것이 좋습니다.
func peripheral(peripheral: CBPeripheral, didDiscoverServices error: NSError?) {
guard let serviceError = error else {
if let peripheralServices = peripheral.services {
for service in peripheralServices {
peripheral.discoverCharacteristics(nil, forService: service)
}
}
return
}
print("Error in discovering Services. Error : \(serviceError.localizedDescription)")
}
도움이 될만한 정보가 있습니다. 해피 코딩 :)
나는 이미 서비스를 확인했습니다. 나는 안드로이드에서 특성을 발견하고 쓸 수 있습니다. 내 문제는 ios에서 발생하며 서비스를 성공적으로 얻은 후에 특성을 검색 할 수 없습니다. –
iOS BLE 스택이 Google의 Android BLE 스택보다 낫습니다. 안드로이드에서 서비스와 특성을 읽을 수 있다면 디버깅을 시도하고 iOS 1을 사용하여 안드로이드에 들어가는 서비스 CBUUID를 맞추십시오. – iProgrammer