GCKSessionManager 클래스

GCKSessionManager 클래스 참조

개요

세션을 관리하는 클래스입니다.

startSessionWithDevice: (GCKSessionManager) 메서드는 지정된 GCKDevice로 새 세션을 만드는 데 사용됩니다. 세션 관리자는 해당 기기 유형의 GCKDeviceProvider를 사용하여 새 GCKSession 객체를 구성한 다음 모든 세션 요청을 위임합니다.

GCKSessionManager는 정지된 세션의 자동 재개를 처리합니다. 즉, 애플리케이션이 백그라운드로 전환되었을 때, 또는 애플리케이션이 비정상 종료되거나 사용자가 강제로 종료한 경우 종료된 세션을 재개합니다. 애플리케이션이 다시 시작되거나 다시 시작되면 세션 관리자는 정지된 세션의 기기 제공자가 해당 기기를 다시 검색할 때까지 잠시 대기합니다. 그런 다음 이 기기를 다시 검색할 경우 해당 기기에 다시 연결하고 세션을 자동으로 다시 설정합니다.

애플리케이션이 타겟과 선택기를 제공하지 않고 GCKUICastButton를 만든 경우 사용자가 버튼을 탭하면 기본 전송 대화상자가 표시되고 사용자 선택 또는 기기 연결 해제에 따라 자동으로 세션을 시작하고 중지합니다. 하지만 애플리케이션이 자체 기기 선택/제어 대화상자 UI를 제공하는 경우에는 GCKSessionManager를 직접 사용하여 세션을 만들고 제어해야 합니다.

애플리케이션이 GCKSessionManager를 사용하여 세션을 제어하는지 여부와 관계없이 GCKSessionManagerListener를 연결하여 세션 이벤트에 관한 알림을 받을 수 있으며 KVO를 사용하여 connectionState 속성을 모니터링하여 현재 세션 수명 주기 상태를 추적할 수도 있습니다.

다음 이후:
3.0

NSObject를 상속합니다.

인스턴스 메서드 요약

(instancetype) - init
 기본 이니셜라이저를 사용할 수 없습니다. 더보기...
 
(BOOL) - startSessionWithDevice:
 기기 카테고리에 등록된 기본 세션 옵션(있는 경우)을 사용하여 특정 기기로 새 세션을 시작합니다. 더보기...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 지정된 기기 및 옵션으로 새 세션을 시작합니다. 더보기...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 UIApplicationDelegate::application:openURL:options: 메서드에 제공된 옵션을 사용하여 세션에 참여하거나 세션을 시작하려고 시도합니다. 더보기...
 
(BOOL) - suspendSessionWithReason:
 현재 세션을 정지합니다. 더보기...
 
(BOOL) - endSession
 현재 세션을 종료합니다. 더보기...
 
(BOOL) - endSessionAndStopCasting:
 하나의 발신자 기기가 연결된 경우 현재 세션을 종료하고 전송을 중지합니다. 그렇지 않으면 여러 발신자 기기가 연결되어 있는 경우 선택적으로 전송을 중지합니다. 더보기...
 
(BOOL) - hasConnectedSession
 세션이 현재 이 세션 관리자에서 관리되고 있고 현재 연결되어 있는지 테스트합니다. 더보기...
 
(BOOL) - hasConnectedCastSession
 전송 세션이 현재 이 세션 관리자에서 관리되고 있고 현재 연결되어 있는지 테스트합니다. 더보기...
 
(void) - setDefaultSessionOptions:forDeviceCategory:
 지정된 기기 카테고리의 기본 세션 옵션을 설정합니다.세션 옵션은 사용자가 전송 대화상자에서 기기를 선택하면 createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) 메서드에 전달됩니다. 더보기...
 
(nullable GCKSessionOptions *) - defaultSessionOptionsForDeviceCategory:
 지정된 기기 카테고리의 기본 세션 옵션을 가져옵니다. 더보기...
 
(void) - addListener:
 알림을 수신하기 위한 리스너를 추가합니다. 더보기...
 
(void) - removeListener:
 이전에 addListener:로 추가된 리스너를 삭제합니다. 더보기...
 

속성 요약

GCKSessioncurrentSession
 현재 세션입니다(있는 경우). 더보기...
 
GCKCastSessioncurrentCastSession
 현재 전송 세션입니다(있는 경우). 더보기...
 
GCKConnectionState connectionState
 현재 세션 연결 상태입니다. 더보기...
 

메서드 세부정보

- (instancetype) init

기본 이니셜라이저를 사용할 수 없습니다.

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

기기 카테고리에 등록된 기본 세션 옵션(있는 경우)을 사용하여 특정 기기로 새 세션을 시작합니다.

이는 비동기 작업입니다.

Parameters
deviceThe device to use for this session.
반환 값
작업이 성공적으로 시작된 경우 YES, 현재 설정된 세션이 있거나 작업을 시작할 수 없는 경우 NO입니다.
- (BOOL) startSessionWithDevice: (GCKDevice *)  device
sessionOptions: (nullable GCKSessionOptions *)  options 

지정된 기기 및 옵션으로 새 세션을 시작합니다.

이는 비동기 작업입니다.

Parameters
deviceThe device to use for this session.
optionsThe options for this session, if any. May be nil.
반환 값
작업이 성공적으로 시작된 경우 YES, 현재 설정된 세션이 있거나 작업을 시작할 수 없는 경우 NO입니다.
다음 이후:
4.0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

UIApplicationDelegate::application:openURL:options: 메서드에 제공된 옵션을 사용하여 세션에 참여하거나 세션을 시작하려고 시도합니다.

일반적으로 다른 앱에서 시작한 특정 기기의 기존 Cast 세션에 참여하기 위한 요청입니다.

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil.
반환 값
작업이 성공적으로 시작되었다면 YES, 현재 세션이 설정되어 있거나 openURL 옵션에 필요한 전송 옵션이 없으면 NO입니다.
다음 이후:
4.0
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

현재 세션을 정지합니다.

이는 비동기 작업입니다.

Parameters
reasonThe reason for the suspension.
반환 값
작업이 성공적으로 시작된 경우 YES, 현재 설정된 세션이 없거나 작업을 시작할 수 없는 경우 NO입니다.
- (BOOL) endSession

현재 세션을 종료합니다.

이는 비동기 작업입니다.

반환 값
작업이 성공적으로 시작된 경우 YES, 현재 설정된 세션이 없거나 작업을 시작할 수 없는 경우 NO입니다.
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

하나의 발신자 기기가 연결된 경우 현재 세션을 종료하고 전송을 중지합니다. 그렇지 않으면 여러 발신자 기기가 연결되어 있는 경우 선택적으로 전송을 중지합니다.

stopCasting 매개변수를 사용하여 세션이 종료될 때 수신기에서 전송을 중지해야 하는지 여부를 나타냅니다. 이 매개변수는 여러 발신자 기기가 연결된 경우에만 적용됩니다. 예를 들어 동일한 앱이 여러 발신기 기기에 열려 있고 각 발신기 기기에 동일한 수신 기기와의 활성 Cast 세션이 있습니다.

  • stopCastingYES로 설정하면 여러 기기가 연결되면 수신기 앱에서 전송을 중지합니다.
  • stopCastingNO이고 다른 기기에 활성 세션이 있는 경우 수신기는 계속 재생됩니다.
  • 하나의 발신기 기기만 연결되면 수신기 앱이 미디어 전송을 중지하고 stopCasting 값이 NO로 설정되어 있더라도 이 값을 무시합니다.
Parameters
stopCastingWhether casting on the receiver should stop when the session ends. Only used when multiple sender devices are connected.
반환 값
세션을 종료하는 작업이 성공적으로 시작된 경우 YES, 현재 설정된 세션이 없거나 작업을 시작할 수 없는 경우 NO입니다.
- (BOOL) hasConnectedSession

세션이 현재 이 세션 관리자에서 관리되고 있고 현재 연결되어 있는지 테스트합니다.

세션 상태가 GCKConnectionStateConnected인 경우 YES입니다.

- (BOOL) hasConnectedCastSession

전송 세션이 현재 이 세션 관리자에서 관리되고 있고 현재 연결되어 있는지 테스트합니다.

세션 상태가 GCKConnectionStateConnected이고 세션이 Cast 세션인 경우 YES입니다.

- (void) setDefaultSessionOptions: (nullable GCKSessionOptions *)  sessionOptions
forDeviceCategory: (NSString *)  category 

지정된 기기 카테고리의 기본 세션 옵션을 설정합니다.세션 옵션은 사용자가 전송 대화상자에서 기기를 선택하면 createSessionForDevice:sessionID:sessionOptions: (GCKDeviceProvider) 메서드에 전달됩니다.

Cast 세션의 경우 세션 옵션에서 실행할 수신기 애플리케이션을 지정할 수 있습니다.

Parameters
sessionOptionsThe session options. May be nil to remove any previously set options.
categoryThe device category.
다음 이후:
4.0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: (NSString *)  category

지정된 기기 카테고리의 기본 세션 옵션을 가져옵니다.

Parameters
categoryThe device category.
반환 값
기본 세션 옵션이며 없는 경우 nil입니다.
다음 이후:
4.0
- (void) addListener: (id< GCKSessionManagerListener >)  listener

알림을 수신하기 위한 리스너를 추가합니다.

추가된 리스너는 약하게 유지되므로 예기치 않은 할당 해제를 방지하기 위해 유지되어야 합니다.

Parameters
listenerThe listener to add.
- (void) removeListener: (id< GCKSessionManagerListener >)  listener

이전에 addListener:로 추가된 리스너를 삭제합니다.

Parameters
listenerThe listener to remove.

부동산 세부정보

- (GCKSession*) currentSession
readnonatomicstrong

현재 세션입니다(있는 경우).

- (GCKCastSession*) currentCastSession
readnonatomicstrong

현재 전송 세션입니다(있는 경우).

- (GCKConnectionState) connectionState
readnonatomicassign

현재 세션 연결 상태입니다.