Notice
Recent Posts
Recent Comments
Link
투케이2K
609. (ios/swift5) [간단 소스] CBPeripheralManager 간단 설명 및 사용 옵션 정리 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- 기술 구분 : CBPeripheralManager / 주변 기기 관리 및 모니터링
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------
1. CBPeripheralManager 은 로컬 주변 기기 Generic Attribute Profile (GATT) 서비스를 관리하고 모니터링 할 수 있는 객체입니다.
2. CBPeripheralManager 은 Core Bluetooth 객체를 사용해 블루투스 광고 아이디 생성 및 주변 신호를 스캔할 수 있습니다.
3. CBPeripheralManager 사용 가능 지원 범위 :
>> iOS 6.0 이상
>> 아이패드OS 6.0 이상
>> 맥 카탈리스트 13.1+
>> 맥OS 10.9 이상
>> tvOS 9.0 이상
>> 비전OS 1.0+
>> 워치OS 2.0 이상
4. CBPeripheralManager 초기화 및 관리자 관련 주요 함수 :
>> convenience init() : 대리자 없이 주변 장치 관리자를 초기화합니다.
>> convenience init(delegate: (any CBPeripheralManagerDelegate)?, queue: dispatch_queue_t?) : 지정된 대리자 및 디스패치 대기열로 주변 장치 관리자를 초기화합니다.
>> init(delegate: (any CBPeripheralManagerDelegate)?, queue: dispatch_queue_t?, options: [String : Any]?) : 지정된 대리자, 디스패치 대기열 및 초기화 옵션을 사용하여 주변 장치 관리자를 초기화합니다.
>> var delegate: (any CBPeripheralManagerDelegate)? : 주변 이벤트를 수신하도록 지정된 대리자 개체입니다.
>> 주변 장치 관리자 초기화 옵션
- let CBPeripheralManagerOptionShowPowerAlertKey : String : 주변 장치 관리자를 인스턴스화할 때 Bluetooth가 전원이 꺼진 상태인 경우 시스템에서 경고해야 하는지 여부를 지정하는 부울 값입니다.
- let CBPeripheralManagerOptionRestoreIdentifierKey : String : 주변 장치 관리자를 인스턴스화하는 데 사용되는 고유 식별자(UID)입니다.
5. CBPeripheralManager 서비스 추가 및 제거 관련 주요 함수 :
>> func add(CBMutableService) : 서비스와 관련 특성 및 특성 설명자를 로컬 GATT 데이터베이스에 게시합니다.
>> func remove(CBMutableService) : 로컬 GATT 데이터베이스에서 지정된 게시된 서비스를 제거합니다.
>> func removeAllServices() : 로컬 GATT 데이터베이스에서 게시된 모든 서비스를 제거합니다.
6. CBPeripheralManager 광고 관리 관련 주요 함수 :
>> func startAdvertising([String : Any]?) : 주변 장치 관리자 데이터를 광고합니다.
>> func stopAdvertising() : 주변 장치 관리자 데이터 광고를 중지합니다.
>> var isAdvertising: Bool : 주변 장치가 데이터를 광고하고 있는지 여부를 나타내는 부울 값입니다.
7. CBPeripheralManager 특성 값 업데이트 보내기 관련 주요 함수 :
>> func updateValue(Data, for: CBMutableCharacteristic, onSubscribedCentrals: [CBCentral]?) -> Bool : 알림이나 표시를 통해 업데이트된 특성 값을 하나 이상의 구독된 센터에 보냅니다.
8. CBPeripheralManager 읽기 및 쓰기 요청에 대한 응답 관련 주요 함수 :
>> func respond(to: CBATTRequest, withResult: CBATTError.Code) : 연결된 중앙에서 읽기 또는 쓰기 요청에 응답합니다.
9. CBPeripheralManager 연결 대기 시간 설정 관련 주요 함수 :
>> func setDesiredConnectionLatency(CBPeripheralManagerConnectionLatency, for: CBCentral) : 중앙 장치에 대한 기존 연결에 대해 원하는 연결 대기 시간을 설정합니다.
>> enum CBPeripheralManagerConnectionLatency : 주변 장치 관리자의 연결 지연 시간을 나타내는 값입니다.
10. CBPeripheralManager L2CAP 채널 사용 관련 주요 함수 :
>> func publishL2CAPChannel(withEncryption: Bool) : 수신 L2CAP 채널 연결에 대한 리스너를 생성합니다.
>> func unpublishL2CAPChannel(CBL2CAPPSM) : 로컬 시스템에서 게시된 서비스를 제거합니다.
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[애플 공식 사이트]
https://developer.apple.com/documentation/corebluetooth/cbperipheralmanager
[블루투스 (bluetooth) 신호 활성 수행 - CBPeripheralManager]
https://blog.naver.com/kkh0977/222558588251?trackingCode=blog_bloghome_searchlist
[CBPeripheralManager 사용해 bluetooth 블루투스 기능 활성 상태 확인]
https://blog.naver.com/kkh0977/223596292890?trackingCode=blog_bloghome_searchlist
[OperationQueue, @escaping 사용해 CBPeripheralManager 블루투스 활성 상태 응답 값 콜백 (callback) 확인]
https://blog.naver.com/kkh0977/223243876567?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
Comments