투케이2K

621. (ios/swift5) [기능 정리] CBPeripheralDelegate 설명 및 기능 사용 정리 - CBPeripheral 딜리게이트 본문

IOS

621. (ios/swift5) [기능 정리] CBPeripheralDelegate 설명 및 기능 사용 정리 - CBPeripheral 딜리게이트

투케이2K 2025. 1. 3. 20:00

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[설명 정리]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Swift

- 개발 툴 : Xcode

- 기술 구분 : Bluetooth / CBPeripheral / CBPeripheralDelegate

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------

1. CBPeripheral 은 앱이 중앙 관리자(인스턴스)를 통해 검색하는 원격 주변 장치를 나타냅니다

  >> 주변 장치는 객체로 표현되는 UUID(Universally Unique Identifier)를 사용하여 자신을 식별할 수 있습니다
  >> 주변 장치는 하나 이상의 서비스를 포함하거나 연결된 신호 강도에 대한 유용한 정보를 제공할 수 있습니다
  >> Bluetooth 저에너지를 지원하는 원격 주변 기기에서 사용 가능한 서비스를 검색, 탐색 및 상호 작용할 수 있습니다


2. CBPeripheralDelegate 은 주변장치 서비스 사용에 대한 업데이트를 제공하는 프로토콜 및 대리자입니다


3. CBPeripheralDelegate 사용 가능 지원 범위 : 

  >> iOS 5.0 이상
  >> 아이패드OS 5.0+
  >> 맥 카탈리스트 13.0+
  >> 맥OS 10.10 이상
  >> tvOS 9.0 이상
  >> 비전OS 1.0+
  >> 워치OS 4.0+


4. CBPeripheralDelegate 서비스 발견 관련 정리 : 

  >> func peripheral(CBPeripheral, didDiscoverServices: (any Error)?) : 주변 서비스 검색이 성공했음을 대리인에게 알립니다.
  >> func peripheral(CBPeripheral, didDiscoverIncludedServicesFor: CBService, error: (any Error)?) : 지정된 서비스 내에 포함된 서비스 검색이 완료되었음을 대리자에게 알립니다.


5. CBPeripheralDelegate 특성과 그 설명자 발견 관련 정리 : 

  >> func peripheral(CBPeripheral, didDiscoverCharacteristicsFor: CBService, error: (any Error)?) : 주변 장치가 서비스에 대한 특성을 찾았음을 대리인에게 알립니다.
  >> func peripheral(CBPeripheral, didDiscoverDescriptorsFor: CBCharacteristic, error: (any Error)?) : 주변 장치가 특성에 대한 설명자를 찾았음을 대리인에게 알립니다.


6. CBPeripheralDelegate 특성 및 설명자 값 검색 관련 정리 : 

  >> func peripheral(CBPeripheral, didUpdateValueFor: CBCharacteristic, error: (any Error)?) : 지정된 특성의 값을 검색하는 데 성공했거나 특성의 값이 변경되었음을 대리자에게 알립니다.
  >> func peripheral(CBPeripheral, didUpdateValueFor: CBDescriptor, error: (any Error)?) : 지정된 특성 설명자의 값을 검색하는 데 성공했음을 대리자에게 알립니다.


7. CBPeripheralDelegate 특성 및 설명자 값 쓰기 관련 정리 : 

  >> func peripheral(CBPeripheral, didWriteValueFor: CBCharacteristic, error: (any Error)?) : 주변 장치가 특성에 대한 값을 성공적으로 설정했음을 대리자에게 알립니다.
  >> func peripheral(CBPeripheral, didWriteValueFor: CBDescriptor, error: (any Error)?) : 주변 장치가 설명자에 대한 값을 성공적으로 설정했음을 대리자에게 알립니다.
  >> func peripheralIsReady(toSendWriteWithoutResponse: CBPeripheral) : 주변장치가 다시 특성 업데이트를 보낼 준비가 되었음을 대리인에게 알립니다.


8. CBPeripheralDelegate 특성 값에 대한 알림 관리 정리 : 

  >> func peripheral(CBPeripheral, didUpdateNotificationStateFor: CBCharacteristic, error: (any Error)?) : 주변 장치가 지정된 특성 값에 대한 알림 제공을 시작하거나 중지하라는 요청을 받았음을 대리자에게 알려줍니다.


9. CBPeripheralDelegate 주변 장치의 RSSI 데이터 검색 관련 정리 : 

  >> func peripheral(CBPeripheral, didReadRSSI: NSNumber, error: (any Error)?) : 주변 장치의 현재 RSSI(수신 신호 강도 표시기) 값을 검색하는 것이 성공했음을 대리자에게 알립니다.


10. CBPeripheralDelegate 주변 장치 이름 또는 서비스 변경 사항 모니터링 관련 정리 : 

  >> func peripheralDidUpdateName(CBPeripheral) : 주변장치 이름이 변경되었음을 대리인에게 알립니다.
  >> func peripheral(CBPeripheral, didModifyServices: [CBService]) : 주변장치 서비스가 변경되었음을 대리인에게 알립니다.


11. CBPeripheralDelegate L2CAP 채널 모니터링 관련 정리 : 

  >> func peripheral(CBPeripheral, didOpen: CBL2CAPChannel?, error: (any Error)?) : L2CAP 채널을 열려고 시도한 결과를 전달합니다.

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[CBPeripheral : 애플 공식 사이트 설명]

https://developer.apple.com/documentation/corebluetooth/cbperipheral


[CBPeripheralDelegate : 애플 공식 사이트 설명]

https://developer.apple.com/documentation/corebluetooth/cbperipheraldelegate


[실시간 블루투스 목록 스캔 실시]

https://blog.naver.com/kkh0977/222539665274?trackingCode=blog_bloghome_searchlist


[블루투스 (bluetooth) 신호 활성 수행]

https://blog.naver.com/kkh0977/222558588251?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
 



반응형
Comments