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
//장치 상태
@property(readonly) CBCentralManagerState state;
//초기화 방법 - 매개 변수 - delegate- 다중 라인에 넣고 더 많은 일을 할 수 있습니다 -queue
- (id)initWithDelegate:(id
//초기화 방법 - 매개 변수 - options가 이 관리자를 지정합니다
- (id)initWithDelegate:(id
//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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.