GCKDiscoveryManager 課程

GCKDiscoveryManager 類別參考資料

總覽

管理裝置探索程序的類別。

GCKDiscoveryManager 會管理 GCKDeviceProvider 子類別執行個體的集合,每個執行個體都負責探索特定類型的裝置。此外,這裡也會列出目前發現的裝置,按照字母順序排列。

當應用程式移至前景時,架構會自動啟動探索程序,並在應用程式移至背景時暫停探索程序。應用程式通常不需要呼叫 startDiscovery (GCKDiscoveryManager)stopDiscovery (GCKDiscoveryManager),但做為最佳化措施,可在未使用 Cast 功能的應用程式區域中降低網路流量和 CPU 使用率。

如果應用程式透過 GCKUICastButton 或直接展示架構,使用架構的「投放」對話方塊,該對話方塊會使用 GCKDiscoveryManager 填入可用裝置清單。不過,如果應用程式提供自己的裝置選取/控制對話方塊 UI,則應使用 GCKDiscoveryManager 和相關聯的事件監聽器通訊協定 GCKDiscoveryManagerListener,填入並更新其可用裝置清單。

開始時間
3.0

繼承 NSObject。

執行個體方法摘要

(instancetype) - init
 無法使用預設初始化器。更多...
 
(void) - addListener:
 新增可接收探索通知的事件監聽器。更多...
 
(void) - removeListener:
 移除先前註冊的事件監聽器。更多...
 
(void) - startDiscovery
 啟動探索程序。更多...
 
(void) - stopDiscovery
 停止探索程序。更多...
 
(BOOL) - isDiscoveryActiveForDeviceCategory:
 測試指定裝置類別目前是否已啟用探索功能。更多...
 
(GCKDevice *) - deviceAtIndex:
 傳回管理員找到的裝置清單中指定索引處的裝置。更多...
 
(nullable GCKDevice *) - deviceWithUniqueID:
 傳回管理員找到的裝置清單中具有指定專屬 ID 的裝置。更多...
 
(void) - findDeviceWithUniqueID:timeout:completion:
 等待系統發現具有指定專屬 ID 的裝置,並叫用完成區塊。更多...
 
(void) - cancelFindOperation
 取消所有由 findDeviceWithUniqueID:timeout:complete: 啟動的進行中尋找作業。更多...
 

資源摘要

GCKDiscoveryState discoveryState
 目前的探索狀態。更多...
 
BOOL hasDiscoveredDevices
 此標記會指出是否已透過這個物件管理的任何探索服務提供者找到任何裝置。更多...
 
BOOL passiveScan
 此標記用於註明是否應採用「被動」掃描。更多...
 
BOOL discoveryActive
 此標記會指出探索是否啟用,更多...
 
NSUInteger deviceCount
 目前發現的裝置數量。更多...
 

方法詳細資料

- (instancetype) init

無法使用預設初始化器。

- (void) addListener: (id< GCKDiscoveryManagerListener >)  listener

新增可接收探索通知的事件監聽器。

新增的事件監聽器未妥善保留,應保留,以免發生意外交易。

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

移除先前註冊的事件監聽器。

Parameters
listenerThe listener to remove.
- (void) startDiscovery

啟動探索程序。

- (void) stopDiscovery

停止探索程序。

- (BOOL) isDiscoveryActiveForDeviceCategory: (NSString *)  deviceCategory

測試指定裝置類別目前是否已啟用探索功能。

- (GCKDevice *) deviceAtIndex: (NSUInteger)  index

傳回管理員找到的裝置清單中指定索引處的裝置。

- (nullable GCKDevice *) deviceWithUniqueID: (NSString *)  uniqueID

傳回管理員找到的裝置清單中具有指定專屬 ID 的裝置。

Parameters
uniqueIDThe device's unique ID.
傳回
相符的 GCKDevice 物件;如果找不到相符的裝置,則為 nil
- (void) findDeviceWithUniqueID: (NSString *)  uniqueID
timeout: (NSTimeInterval)  timeout
completion: (void(^)(GCKDevice *))  completion 

等待系統發現具有指定專屬 ID 的裝置,並叫用完成區塊。

如果找到的裝置清單中已有相符的裝置,系統會立即叫用這個完成區塊 (但在此方法傳回後)。一次只能執行一項尋找作業。如果在執行另一項搜尋作業時開始新的尋找作業,目前的搜尋作業就會取消。

Parameters
uniqueIDThe unique ID of the device.
timeoutThe maximum amount of time to wait for the device to be discovered.
completionThe completion block to invoke when either the device is found or the timeout is reached. The device (if found) or nil (if not found) will be passed to the completion block.
開始時間
4.0
- (void) cancelFindOperation

取消所有由 findDeviceWithUniqueID:timeout:complete: 啟動的進行中尋找作業。

開始時間
4.0

資源詳情

- (GCKDiscoveryState) discoveryState
readnonatomicassign

目前的探索狀態。

- (BOOL) hasDiscoveredDevices
readnonatomicassign

此標記會指出是否已透過這個物件管理的任何探索服務提供者找到任何裝置。

- (BOOL) passiveScan
readwritenonatomicassign

此標記用於註明是否應採用「被動」掃描。

被動掃描不需要耗費太多資源,但提供的結果不會像主動掃描一樣最新。

- (BOOL) discoveryActive
readnonatomicassign

此標記會指出探索是否啟用,

開始時間
3.4
- (NSUInteger) deviceCount
readnonatomicassign

目前發現的裝置數量。