Notice
Recent Posts
Recent Comments
Link
투케이2K
601. (ios/swift5) [간단 소스] CBCentralManager 간단 설명 및 사용 옵션 정리 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- 기술 구분 : CBCentralManager / 블루투스 / 장치 스캔
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------
1. CBCentralManager 은 주변 장치를 스캔하고, 발견하고, 연결하고, 관리하는 객체입니다
2. CBCentralManager 은 검색되거나 연결된 원격 주변 장치 ( CBPeripheral 객체로 표현 ) 를 관리하며, 검색 된 장치에 연결할 수 있습니다
3. CBCentralManager 를 사용하기 위해서는 Bluetooth 가 켜져 있고 사용 가능 한 권한을 부여 받아야 합니다
4. CBCentralManager 사용 가능 지원 범위 :
>> iOS 5.0 이상
>> 아이패드OS 5.0+
>> 맥 카탈리스트 13.1+
>> 맥OS 10.7+
>> tvOS 9.0 이상
>> 비전OS 1.0+
>> 워치OS 2.0 이상
5. CBCentralManager 초기화 관련 :
>> convenience init() : 대리인 없이 객체를 초기화합니다.
>> convenience init(delegate: (any CBCentralManagerDelegate)?, queue: dispatch_queue_t?) : 지정된 대리자 및 디스패치 대기열로 객체를 초기화합니다.
>> init(delegate: (any CBCentralManagerDelegate)?, queue: dispatch_queue_t?, options: [String : Any]?) : 지정된 대리자, 디스패치 큐, 초기화 옵션을 사용하여 객체를 초기화합니다.
6. CBCentralManager 주변 장치와의 연결 설정 또는 취소 관련 :
>> func connect(CBPeripheral, options: [String : Any]?) : 주변장치와의 로컬 연결을 설정합니다.
>> func cancelPeripheralConnection(CBPeripheral) : 주변장치에 대한 활성 또는 보류 중인 로컬 연결을 취소합니다.
>> 주변 장치 연결 옵션 :
- let CBConnectPeripheralOptionEnableAutoReconnect: String : 시스템이 주변장치에 자동으로 다시 연결할지 여부를 지정하는 부울 값입니다.
- let CBConnectPeripheralOptionEnableTransportBridgingKey: String : Bluetooth Low Energy를 통해 이미 연결된 경우 클래식 Bluetooth 기술 프로필을 연결하는 옵션입니다.
- let CBConnectPeripheralOptionNotifyOnConnectionKey: String : 주변 장치를 백그라운드에서 연결할 때 시스템에서 경고를 표시할지 여부를 지정하는 부울 값입니다.
- let CBConnectPeripheralOptionNotifyOnDisconnectionKey: String : 백그라운드에서 주변 장치의 연결을 끊을 때 시스템에서 경고를 표시할지 여부를 지정하는 부울 값입니다.
- let CBConnectPeripheralOptionNotifyOnNotificationKey: String : 주변 장치에서 보낸 알림에 대해 시스템이 경고를 표시해야 하는지 여부를 지정하는 부울 값입니다.
- let CBConnectPeripheralOptionRequiresANCS: String : 장치를 연결할 때 Apple 알림 센터 서비스(ANCS)를 요구하도록 하는 옵션입니다.
- let CBConnectPeripheralOptionStartDelayKey: String : 시스템이 연결되기 전에 지연이 발생함을 나타내는 옵션입니다.
7. CBCentralManager 주변 장치 목록 검색 관련 :
>> func retrieveConnectedPeripherals(withServices: [CBUUID]) -> [CBPeripheral] : 주어진 기준과 일치하는 서비스를 제공하는 시스템에 연결된 주변 장치 목록을 반환합니다.
>> func retrievePeripherals(withIdentifiers: [UUID]) -> [CBPeripheral] : 식별자별로 알려진 주변 장치 목록을 반환합니다.
8. CBCentralManager 주변 장치 스캔 또는 스캔 중지 관련 :
>> func scanForPeripherals(withServices: [CBUUID]?, options: [String : Any]?) : 서비스를 광고하는 주변 장치를 검색합니다.
>> func stopScan() : 중앙 관리자에게 주변 장치 스캔을 중지하도록 요청합니다.
>> var isScanning: Bool : 중앙이 현재 스캐닝 중인지 여부를 나타내는 부울 값입니다.
>> 주변 장치 스캐닝 옵션 :
- let CBCentralManagerScanOptionAllowDuplicatesKey: String : 중복 필터링 없이 스캔을 실행해야 하는지 여부를 지정하는 부울 값입니다.
- let CBCentralManagerScanOptionSolicitedServiceUUIDsKey: String : 스캔하려는 서비스 UUID의 배열입니다.
9. CBCentralManager 기능 지원 검사 관련 :
>> class func supports(CBCentralManager.Feature) -> Bool : 장치가 특정 기능 세트를 지원하는지 여부를 나타내는 부울 값을 반환합니다.
>> struct Feature : 장치별 기능의 옵션 세트입니다.
10. CBCentralManager 모니터링 속성 관련 :
>> var delegate: (any CBCentralManagerDelegate)? : 중앙 관리자 이벤트를 수신하려는 대리자 개체입니다.
11. CBCentralManager 연결 이벤트 수신 관련 :
>> func registerForConnectionEvents(options: [CBConnectionEventMatchingOption : Any]?) : 중앙 관리자가 주어진 옵션과 일치하는 연결을 만들 때 이벤트 알림을 등록합니다.
>> enum CBConnectionEvent : 피어의 연결 상태가 변경됩니다.
>> struct CBConnectionEventMatchingOption : 연결 이벤트를 등록할 때 사용할 수 있는 옵션 집합입니다.
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.apple.com/documentation/corebluetooth/cbcentralmanager
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
602. (ios/swift5) [간단 소스] WKNavigationDelegate 간단 설명 및 사용 옵션 정리 (0) | 2024.12.02 |
---|---|
600. (ios/swift5) [간단 소스] UNUserNotificationCenter 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
599. (ios/swift5) [간단 소스] DispatchSemaphore 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
598. (ios/swift5) [간단 소스] ProcessInfo 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
597. (ios/swift5) [간단 소스] URLSession uploadTask 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
Comments