2016-11-26 6 views

답변

0

일반적으로 연결 후 다음 단계는 서비스를 검색하는 것입니다. 이제 모든 서비스에는 고유 한 특성이 있습니다. 위 전화에

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)") 
} 

도움이 될만한 정보가 있습니다. 해피 코딩 :)

+0

나는 이미 서비스를 확인했습니다. 나는 안드로이드에서 특성을 발견하고 쓸 수 있습니다. 내 문제는 ios에서 발생하며 서비스를 성공적으로 얻은 후에 특성을 검색 할 수 없습니다. –

+0

iOS BLE 스택이 Google의 Android BLE 스택보다 낫습니다. 안드로이드에서 서비스와 특성을 읽을 수 있다면 디버깅을 시도하고 iOS 1을 사용하여 안드로이드에 들어가는 서비스 CBUUID를 맞추십시오. – iProgrammer