總覽
管理工作階段的類別。
方法 startSessionWithDevice: (GCKSessionManager) 用於使用指定 GCKDevice 建立新工作階段。工作階段管理工具會使用該裝置類型的 GCKDeviceProvider 建構新的 GCKSession 物件,然後將所有工作階段要求委派給該物件。
GCKSessionManager 會自動恢復暫停的工作階段 (也就是在應用程式移至背景時結束的工作階段,或是應用程式當機或遭使用者強制終止時結束的工作階段)。應用程式恢復或重新啟動時,工作階段管理員會稍待片刻,等待暫停工作階段的裝置供應商再次探索該裝置,如果成功探索,就會嘗試重新連線至該裝置,並自動重新建立工作階段。
如果應用程式已建立 GCKUICastButton,但未提供目標和選取器,使用者輕觸按鈕時就會顯示預設的 Cast 對話方塊,並根據使用者選取或裝置中斷連線,自動啟動及停止工作階段。不過,如果應用程式提供自己的裝置選取/控制對話方塊 UI,則應直接使用 GCKSessionManager 建立及控制工作階段。
無論應用程式是否使用 GCKSessionManager 控制工作階段,都可以附加 GCKSessionManagerListener,以便接收工作階段事件通知,也可以使用 KVO 監控 connectionState 屬性,追蹤目前的工作階段生命週期狀態。
- 成立時間
- 3.0
繼承 NSObject。
執行個體方法摘要 | |
(instancetype) | - init |
無法使用預設初始化程式。更多... | |
(BOOL) | - startSessionWithDevice: |
使用指定裝置啟動新工作階段。更多... | |
(BOOL) | - suspendSessionWithReason: |
暫停目前的工作階段。更多... | |
(BOOL) | - endSession |
結束目前的工作階段。更多... | |
(BOOL) | - endSessionAndStopCasting: |
結束目前的工作階段,並視需要停止投放。更多... | |
(BOOL) | - hasConnectedSession |
測試工作階段目前是否由這個工作階段管理員管理,以及目前是否已連線。更多... | |
(BOOL) | - hasConnectedCastSession |
測試這個工作階段管理員目前是否正在管理投放工作階段,以及該工作階段是否已連線。更多... | |
(void) | - addListener: |
新增接收通知的監聽器。更多... | |
(void) | - removeListener: |
移除先前使用 addListener: 新增的事件監聽器。更多... | |
房源摘要 | |
GCKSession * | currentSession |
目前的工作階段 (如有)。更多... | |
GCKCastSession * | currentCastSession |
目前的 Cast 工作階段 (如有)。更多... | |
GCKConnectionState | connectionState |
目前的工作階段連線狀態。更多... | |
方法詳細資料
- (instancetype) init |
無法使用預設初始化程式。
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device |
使用指定裝置啟動新工作階段。
這是一項非同步作業。
- Parameters
-
device The device to use for this session.
- 傳回 如果作業已順利啟動,則為
YES
;如果目前已建立工作階段,或作業無法啟動,則為NO
。
- (BOOL) suspendSessionWithReason: | (GCKConnectionSuspendReason) | reason |
暫停目前的工作階段。
這是一項非同步作業。
- Parameters
-
reason The reason for the suspension.
- 傳回 如果作業已順利啟動,則為
YES
;如果目前沒有已建立的連線,或作業無法啟動,則為NO
。
- (BOOL) endSession |
結束目前的工作階段。
這是一項非同步作業。
- 傳回 如果作業已順利啟動,則為
YES
;如果目前沒有已建立的連線,或作業無法啟動,則為NO
。
- (BOOL) endSessionAndStopCasting: | (BOOL) | stopCasting |
結束目前的工作階段,並視需要停止投放。
這是一項非同步作業。
- Parameters
-
stopCasting Whether casting of content on the receiver should be stopped when the session is ended.
- 傳回 如果作業已順利啟動,則為
YES
;如果目前沒有已建立的連線,或作業無法啟動,則為NO
。
- (BOOL) hasConnectedSession |
測試工作階段目前是否由這個工作階段管理員管理,以及目前是否已連線。
如果工作階段狀態為 GCKConnectionStateConnected,則此值為 YES
。
- (BOOL) hasConnectedCastSession |
測試這個工作階段管理員目前是否正在管理投放工作階段,以及該工作階段是否已連線。
如果工作階段狀態為 GCKConnectionStateConnected,且工作階段為 Cast 工作階段,則此值為 YES
。
- (void) addListener: | (id< GCKSessionManagerListener >) | listener |
新增接收通知的監聽器。
- Parameters
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
移除先前使用 addListener: 新增的事件監聽器。
- Parameters
-
listener The listener to remove.
資源詳細資料
|
readnonatomicstrong |
目前的工作階段 (如有)。
|
readnonatomicstrong |
目前的 Cast 工作階段 (如有)。
|
readnonatomicassign |
目前的工作階段連線狀態。