總覽
管理裝置探索程序的類別。
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
-
listener The listener to add.
- (void) removeListener: | (id< GCKDiscoveryManagerListener >) | listener |
移除先前註冊的事件監聽器。
- Parameters
-
listener The listener to remove.
- (void) startDiscovery |
啟動探索程序。
- (void) stopDiscovery |
停止探索程序。
- (BOOL) isDiscoveryActiveForDeviceCategory: | (NSString *) | deviceCategory |
測試指定裝置類別目前是否已啟用探索功能。
- (GCKDevice *) deviceAtIndex: | (NSUInteger) | index |
傳回管理員找到的裝置清單中指定索引處的裝置。
- (nullable GCKDevice *) deviceWithUniqueID: | (NSString *) | uniqueID |
傳回管理員找到的裝置清單中具有指定專屬 ID 的裝置。
- Parameters
-
uniqueID The device's unique ID.
- 傳回
- 相符的 GCKDevice 物件;如果找不到相符的裝置,則為
nil
。
- (void) findDeviceWithUniqueID: | (NSString *) | uniqueID | |
timeout: | (NSTimeInterval) | timeout | |
completion: | (void(^)(GCKDevice *)) | completion | |
等待系統發現具有指定專屬 ID 的裝置,並叫用完成區塊。
如果找到的裝置清單中已有相符的裝置,系統會立即叫用這個完成區塊 (但在此方法傳回後)。一次只能執行一項尋找作業。如果在執行另一項搜尋作業時開始新的尋找作業,目前的搜尋作業就會取消。
- Parameters
-
uniqueID The unique ID of the device. timeout The maximum amount of time to wait for the device to be discovered. completion The 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
資源詳情
|
readnonatomicassign |
目前的探索狀態。
|
readnonatomicassign |
此標記會指出是否已透過這個物件管理的任何探索服務提供者找到任何裝置。
|
readwritenonatomicassign |
此標記用於註明是否應採用「被動」掃描。
被動掃描不需要耗費太多資源,但提供的結果不會像主動掃描一樣最新。
|
readnonatomicassign |
此標記會指出探索是否啟用,
- 開始時間
- 3.4
|
readnonatomicassign |
目前發現的裝置數量。