Ios 如何过滤心率监测器
我正在尝试使用CoreBluetooth API连接到心率监视器 根据蓝牙规范,心率监测服务是免费的。要了解蓝牙设备有哪些服务,您可以连接到它,然后请求可用的服务。如果其中一个设备服务是你有一个心率监视器。不幸的是,这意味着连接到附近的所有蓝牙设备以过滤心率监视器 幸运的是,iOS有以下方法可以扫描特定服务的蓝牙设备。我遇到的问题是,有些心率监测器宣传他们的服务,但有些没有Ios 如何过滤心率监测器,ios,objective-c,bluetooth,bluetooth-lowenergy,core-bluetooth,Ios,Objective C,Bluetooth,Bluetooth Lowenergy,Core Bluetooth,我正在尝试使用CoreBluetooth API连接到心率监视器 根据蓝牙规范,心率监测服务是免费的。要了解蓝牙设备有哪些服务,您可以连接到它,然后请求可用的服务。如果其中一个设备服务是你有一个心率监视器。不幸的是,这意味着连接到附近的所有蓝牙设备以过滤心率监视器 幸运的是,iOS有以下方法可以扫描特定服务的蓝牙设备。我遇到的问题是,有些心率监测器宣传他们的服务,但有些没有 其他应用程序如何连接到心率监视器?他们是否连接到附近的每个蓝牙设备,以发现它是否是心率监视器?核心蓝牙只能根据它知道的数据
其他应用程序如何连接到心率监视器?他们是否连接到附近的每个蓝牙设备,以发现它是否是心率监视器?核心蓝牙只能根据它知道的数据进行过滤。如果一台设备宣传180D服务,那么你的应用程序将在过滤时发现它。如果设备未公布180D,则CB(或其他任何内容)没有其他信息使其符合被选择的条件
因此,检测所有设备的唯一方法是在不过滤特定服务的情况下进行扫描。这是最简单、最有效的方法。目前我正在做后者。连接到附近的每一台设备似乎更繁琐,但它也比等待设备宣传其服务更快、更可靠。你知道为什么BLE设备与宣传其服务如此不一致吗?我不确定。这始终是制造商的决定。他们这样做可能有自己的理由。如果您了解其中一些指纹,您可能会找到其他指纹,这些指纹可以告诉您有关设备的更多信息,例如名称或其他服务。然而,我认为你最好去发现所有可能的目标,因为在一般情况下,最多只有一个或几个设备。