CBCentral Manager 학습 노트

3786 단어 iOS
자기가 문서를 보고 쓴 것을 노트로 삼다.
//CBCentral Manager 학습 노트
@interface CBCentralManager : NSObject
//CBCentral Manager의 여러 상태
typedef NS_ENUM(NSInteger, CBCentralManagerState) {
//처음에는 알 수 없음(처음 만들 때)
CBCentralManagerStateUnknown = 0,
//상태 재설정 중
CBCentralManagerStateResetting,
//디바이스에서 지원되지 않는 상태
CBCentralManagerStateUnsupported,
//장치 무단 상태
CBCentralManagerStateUnauthorized,
//디바이스 종료 상태
CBCentralManagerStatePoweredOff,
//장치 켜짐 상태 - 사용 가능한 상태
CBCentralManagerStatePoweredOn,
};
//에이전트
@property(weak, nonatomic) id delegate;
//장치 상태
@property(readonly) CBCentralManagerState state;
//초기화 방법 - 매개 변수 - delegate- 다중 라인에 넣고 더 많은 일을 할 수 있습니다 -queue
- (id)initWithDelegate:(id)delegate queue:(dispatch_queue_t)queue;
//초기화 방법 - 매개 변수 - options가 이 관리자를 지정합니다
- (id)initWithDelegate:(id)delegate queue:(dispatch_queue_t)queue options:(NSDictionary *)options
//UUID 배열을 통해 주변 장치 검색
- (void)retrievePeripherals:(NSArray *)peripheralUUIDs 
//외곽 장치 검색을 통해identifiers 그룹을 전송합니다
- (NSArray *)retrievePeripheralsWithIdentifiers:(NSArray*)identifiers
//연결된 주변 장치 검색
- (void)retrieveConnectedPeripherals
//서비스의 UUID 배열을 통해 연결된 서비스 배열을 반환
- (NSArray *)retrieveConnectedPeripheralsWithServices:(NSArray*)serviceUUIDs
//서비스UUIDs는 CBUID 그룹입니다. 서비스UIDs가 nil이 비어 있으면 모든 발견된peripheral이 되돌아옵니다
- (void)scanForPeripheralsWithServices:(NSArray *)serviceUUIDs options:(NSDictionary *)options
//검색 중지
- (void)stopScan
//options에서 지정한 옵션을 통해peripheral에 연결
- (void)connectPeripheral:(CBPeripheral *)peripheral options:(NSDictionary *)options
//활발하거나 연결을 기다리는 퍼블릭 연결을 취소합니다
- (void)cancelPeripheralConnection:(CBPeripheral *)peripheral
------------------------------------------------------------------------------------------------------------------------------------------
@protocol CBCentralManagerDelegate
//반드시 실현해야 하는 방법
@required
//CBCentral Manager State Powered On에서만 사용할 수 있습니다.central 상태가 OFF일 때 중심과 연결된peripheral은 모두 무효이며 다시 연결해야 합니다.central의 초기 상태는 Unknown입니다
- (void)centralManagerDidUpdateState:(CBCentralManager *)central;
@optional
//central 정보 제공, dict는 응용 프로그램 종료가 시스템에 저장된central 정보를 포함하고 dic로central 복구
//app 상태의 보존 또는 복구, 이것은 첫 번째 호출된 방법입니다. APP가 백엔드에 들어가서 블루투스와 관련된 작업 설정을 완성하고 이 방법으로 앱 상태를 동기화하여 블루투스 시스템을 통해
- (void)centralManager:(CBCentralManager *)central willRestoreState:(NSDictionary *)dict
//*  @param central      The central manager providing this information.
 *  @param peripherals  A list of CBPeripheral objects.
변경 방법은 {@link retrieve Peripherals}가 호출되었을 때 주변, 중앙과 UUID를 일치시킬 수 있는 결과를 되돌려줍니다.
- (void)centralManager:(CBCentralManager *)central didRetrievePeripherals:(NSArray *)peripherals
//peripherals는 현재central에 연결된 모든peripherals를 표시합니다
//이 방법은 RetrieveConnectedPeripherals가 호출될 때 결과를 되돌려줍니다.
- (void)centralManager:(CBCentralManager *)central didRetrieveConnectedPeripherals:(NSArray *)peripherals
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
- (void)centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)peripheral
- (void)centralManager:(CBCentralManager *)central didFailToConnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error

좋은 웹페이지 즐겨찾기