概览
用于管理设备发现过程的类。
GCKDiscoveryManager 管理 GCKDeviceProvider 子类实例的集合,其中每个实例都负责发现特定类型的设备。它还维护着一个按字典顺序排序的当前发现设备的列表。
当应用转到前台时,框架会自动启动发现进程,当应用转到后台时暂停发现进程。通常,应用无需调用 startDiscovery (GCKDiscoveryManager) 和 stopDiscovery (GCKDiscoveryManager),除非这是一种优化措施,可在应用中不使用 Cast 功能的区域降低网络流量和 CPU 利用率。
如果应用正在使用框架的 Cast 对话框(无论是通过 GCKUICastButton 还是直接呈现),该对话框将使用 GCKDiscoveryManager 来填充其可用设备列表。不过,如果应用提供了自己的设备选择/控制对话框界面,则应使用 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:completion: 启动的正在进行的查找操作。更多... | |
属性摘要 | |
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:completion: 启动的正在进行的查找操作。
- 开始时间
- 4.0
房源详情
|
readnonatomicassign |
当前发现状态。
|
readnonatomicassign |
一个标志,指示此对象管理的任何发现提供程序是否已发现任何设备。
|
readwritenonatomicassign |
一个标志,指示发现操作是否应采用“被动”扫描。
被动扫描占用的资源较少,但无法提供与主动扫描一样的新结果。
|
readnonatomicassign |
指示发现功能是否处于活跃状态的标志。
- 开始时间
- 3.4
|
readnonatomicassign |
当前发现的设备数量。