GCKSessionManager 클래스

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
GCKSessionManager 클래스 참조

개요

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

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

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

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

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

Since
3.0

NSObject를 상속합니다.

인스턴스 메서드 요약

(instancetype) - init
 기본 초기화 프로그램을 사용할 수 없습니다. 더보기...
 
(BOOL) - startSessionWithDevice:
 기기 카테고리에 등록된 기본 세션 옵션(있는 경우)을 사용하여 지정된 기기로 새 세션을 시작합니다. 더보기...
 
(BOOL) - startSessionWithDevice:sessionOptions:
 지정된 기기 및 옵션으로 새 세션을 시작합니다. 더보기...
 
(BOOL) - startSessionWithOpenURLOptions:sessionOptions:
 UIApplicationDelegate::application:openURL:options: 메서드에 제공된 옵션으로 세션에 참여하거나 세션을 시작하려고 시도합니다. 더보기...
 
(BOOL) - suspendSessionWithReason:
 현재 세션을 정지합니다. 더보기...
 
(BOOL) - endSession
 현재 세션을 종료합니다. 더보기...
 
(BOOL) - endSessionAndStopCasting:
 현재 세션을 종료하고 전송자 기기 1개가 연결되면 전송을 중지합니다. 또는 여러 발신자 기기가 연결되면 전송을 중지합니다. 더보기...
 
(BOOL) - hasConnectedSession
 현재 이 세션 관리자가 세션을 관리하고 있고 현재 연결되어 있는지 테스트합니다. 더보기...
 
(BOOL) - hasConnectedCastSession
 현재 이 세션 관리자가 Cast 세션을 관리하고 있으며 현재 연결되어 있는지 테스트합니다. 더보기...
 
(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입니다.
Since
4.0
- (BOOL) startSessionWithOpenURLOptions: (GCKOpenURLOptions *)  openURLOptions
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

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

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

Parameters
openURLOptionsThe options that were extracted from the URL.
sessionOptionsThe options for this session, if any. May be nil.
반환 값
작업이 성공적으로 시작된 경우 YES, 현재 설정된 세션이 있는 경우 NO, openURL 옵션에 필요한 전송 옵션이 포함되지 않은 경우
Since
4.0
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

현재 세션을 정지합니다.

이는 비동기 작업입니다.

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

현재 세션을 종료합니다.

이는 비동기 작업입니다.

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

현재 세션을 종료하고 전송자 기기 1개가 연결되면 전송을 중지합니다. 또는 여러 발신자 기기가 연결되면 전송을 중지합니다.

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

  • stopCastingYES로 설정하면 여러 기기가 연결되어 있을 때 수신기 앱이 전송을 중지합니다.
  • stopCastingNO이고 다른 기기에 활성 세션이 있으면 수신기는 계속 재생됩니다.
  • 발신 기기 하나만 연결된 경우 수신기 앱은 미디어 전송을 중지하고 NO로 설정되어 있더라도 stopCasting 값을 무시합니다.
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

현재 이 세션 관리자가 Cast 세션을 관리하고 있으며 현재 연결되어 있는지 테스트합니다.

세션 상태가 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.
Since
4.0
- (nullable GCKSessionOptions *) defaultSessionOptionsForDeviceCategory: (NSString *)  category

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

Parameters
categoryThe device category.
반환 값
기본 세션 옵션 또는 nil(없음)입니다.
Since
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

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