GCKDeviceProvider 클래스

GCKDeviceProvider 클래스 참조

개요

기기 검색 및 세션 구성을 실행하는 추상 기본 클래스입니다.

이 클래스를 확장하여 추가 기기 유형에 대한 지원을 추가할 수 있습니다. 하위 클래스에서 사용하도록 설계된 도우미 메서드 목록은 GCKDeviceProvider(Protected) 카테고리를 참고하세요. 새 기기 제공자는 registerDeviceProvider: (GCKCastContext)를 사용하여 프레임워크에 등록됩니다.

이후
3.0

NSObject를 상속합니다.

인스턴스 메서드 요약

(instancetype) - initWithDeviceCategory:
 지정된 이니셜라이저입니다. 더보기
 
(void) - startDiscovery
 새 탐색 스캔을 시작합니다. 더보기
 
(void) - stopDiscovery
 탐색 스캔을 중지합니다. 더보기
 
(GCKSession *) - createSessionForDevice:sessionID:
 지정된 기기 및 선택적으로 기존 세션 ID에 대한 새 세션을 생성합니다. 더보기
 
(void) - notifyDidStartDiscovery
 탐색이 시작되었음을 탐색 관리자에게 알립니다. 더보기
 
(void) - notifyDidPublishDevice:
 새 기기가 게시되었음을 검색 관리자에게 알립니다. 더보기
 
(void) - notifyDidUnpublishDevice:
 더 이상 사용할 수 없으므로 이전에 게시된 기기가 게시 취소되었음을 검색 관리자에게 알립니다. 더보기
 
(void) - notifyDidUpdateDevice:
 이전에 게시된 기기의 하나 이상의 표시 속성 (예: 친숙한 이름 또는 아이콘)이 변경되었음을 검색 관리자에게 알립니다. 더보기
 
(GCKDevice *) - createDeviceWithID:ipAddress:servicePort:
 GCKDevice 인스턴스를 생성하는 팩터리 메서드입니다. 더보기
 

숙박 시설 요약

NSString * deviceCategory
 이 제공자가 검색할 기기 유형을 고유하게 식별하는 문자열입니다. 더보기
 
BOOL passiveScan
 수동 스캔 여부입니다. 더보기
 
NSArray< GCKDevice * > * devices
 검색된 기기의 배열입니다. 더보기
 

메소드 세부정보

- (instancetype) initWithDeviceCategory: (NSString *)  deviceCategory

지정된 이니셜라이저입니다.

지정된 유형의 기기에 대한 새 GCKDeviceProvider을 생성합니다.

Parameters
deviceCategoryA string that uniquely identifies the type of device that is managed by by this provider.
- (void) startDiscovery

새 탐색 스캔을 시작합니다.

이는 (일반적으로) 비동기 작업입니다. 이전 검색에서 발견된 기기 중 더 이상 유효하지 않은 기기가 있으면 이 시점에 게시 취소해야 합니다. 서브클래스에서 재정의해야 합니다.

공급자는 notifyDidStartDiscovery (GCKDeviceProvider(Protected))를 호출하여 스캔이 시작되고 오래된 기기가 게시 취소되면 검색 관리자에게 알려야 합니다. 이 메서드의 특정 구현에 스캔을 시작할 때 실행할 비동기 작업이 없으면 반환하기 전에 알림 메서드를 직접 호출할 수 있습니다.

- (void) stopDiscovery

탐색 스캔을 중지합니다.

서브클래스에서 재정의해야 합니다.

- (GCKSession *) createSessionForDevice: (GCKDevice *)  device
sessionID: (NSString *__nullable)  sessionID 

지정된 기기 및 선택적으로 기존 세션 ID에 대한 새 세션을 생성합니다.

서브클래스에서 재정의해야 합니다.

Parameters
deviceThe device to connect to.
sessionIDThe ID of the session to resume; or nil to start a new session.
- (void) notifyDidStartDiscovery

탐색이 시작되었음을 탐색 관리자에게 알립니다.

GCKDeviceProvider(Protected) 카테고리에서 제공합니다.

- (void) notifyDidPublishDevice: (GCKDevice *)  device

새 기기가 게시되었음을 검색 관리자에게 알립니다.

GCKDeviceProvider(Protected) 카테고리에서 제공합니다.

- (void) notifyDidUnpublishDevice: (GCKDevice *)  device

더 이상 사용할 수 없으므로 이전에 게시된 기기가 게시 취소되었음을 검색 관리자에게 알립니다.

GCKDeviceProvider(Protected) 카테고리에서 제공합니다.

- (void) notifyDidUpdateDevice: (GCKDevice *)  device

이전에 게시된 기기의 하나 이상의 표시 속성 (예: 친숙한 이름 또는 아이콘)이 변경되었음을 검색 관리자에게 알립니다.

GCKDeviceProvider(Protected) 카테고리에서 제공합니다.

- (GCKDevice *) createDeviceWithID: (NSString *)  deviceID
ipAddress: (NSString *)  ipAddress
servicePort: (uint16_t)  servicePort 

GCKDevice 인스턴스를 생성하는 팩터리 메서드입니다.

매개변수는 GCKDevice의 변경 불가능한 속성에 해당합니다.

Parameters
deviceIDThe unique ID identifying this device. This value must be unique among all GCKDevice objects that are created by this provider.
ipAddressThe IP address of the device, in numeric form (for example, @"10.0.0.10"). May not be nil.
servicePortThe service port on which connections should be made to this device. May be 0 if a service port is not applicable.

GCKDeviceProvider(Protected) 카테고리에서 제공합니다.

숙박 시설 세부정보

- (NSString*) deviceCategory
readnonatomiccopy

이 제공자가 검색할 기기 유형을 고유하게 식별하는 문자열입니다.

- (BOOL) passiveScan
readwritenonatomicassign

수동 스캔 여부입니다.

수동 검색은 검색 쿼리를 더 적게 전송하므로 더 효율적이지만 결과가 최신 상태가 아닙니다. 사용자가 적극적으로 Cast 타겟을 선택하지 않는 경우 수동 검색을 실행하는 것이 적절합니다. 일부 구현에서는 이 속성을 따르지 않습니다.

- (NSArray<GCKDevice *>*) devices
readnonatomiccopy

검색된 기기의 배열입니다.