Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从蓝牙设备获取用于扫描的有效CBUUID_Ios_Swift_Core Bluetooth - Fatal编程技术网

Ios 从蓝牙设备获取用于扫描的有效CBUUID

Ios 从蓝牙设备获取用于扫描的有效CBUUID,ios,swift,core-bluetooth,Ios,Swift,Core Bluetooth,我正在为一种特定的蓝牙设备(读卡器)编写一个简单的设备浏览器。我知道您应该将CBUUIDs指定的服务数组传递给scanForPeripherals(带有services:options:)方法 为了找到这些ID,我在没有服务过滤器的情况下进行了扫描,找到了我的设备,并在advertisementData[“kCBAdvDataServiceUUIDs”]中查找了一个64位CBUUID,看起来像这样:0x00000001c413e940 如何将此字符串转换为可以作为服务筛选器传入的有效CBUUID

我正在为一种特定的蓝牙设备(读卡器)编写一个简单的设备浏览器。我知道您应该将CBUUIDs指定的服务数组传递给
scanForPeripherals(带有services:options:)
方法

为了找到这些ID,我在没有服务过滤器的情况下进行了扫描,找到了我的设备,并在
advertisementData[“kCBAdvDataServiceUUIDs”]
中查找了一个64位CBUUID,看起来像这样:
0x00000001c413e940

如何将此字符串转换为可以作为服务筛选器传入的有效CBUUID?我尝试了
CBUUID(string:)
initialiser,但它只是抛出一个运行时异常,表示它不是有效的UUID

我还查阅了设备的参考手册,发现下表:

但是,这些似乎都不起作用-当通过这些服务UUID进行过滤时,扫描中不会出现任何设备

最后,当我检查其中的设备时,它报告1个服务广播(
FFF0
),但当我尝试按此服务进行过滤时,没有设备显示

我开始觉得服务过滤器完全坏了。有人用过吗


更新:有效!我重建并重新安装了应用程序,当使用
FFF0
的服务过滤器扫描时,设备出现了。感谢Paulw11的帮助。

有效的UUID看起来像是
36353433-3231-3039-3837-363534333231
或者对于“已知”ID,四个十六进制数字,例如
2A29
。我建议您使用应用程序LightBlue explorer从您的外围设备识别UUID。蓝牙设备的参考手册中有一个UUID列表,如它应该宣传的
2A29
,但当我尝试按此进行过滤时,什么都没有出现。嗯,这只是一个示例
2A29
实际上是制造商名称特征的UUID,而不是服务。著名服务列表如下-。同样,使用iOS应用商店的LightBlue Explorer查看您的外设广告。LightBlue是一款很棒的应用程序。请查看我的编辑。服务过滤器工作正常。一个外围设备有两套服务;它所提供的和它所宣传的(可能是所提供产品的子集)。表中列出的值是特性,而不是服务;e、 例如,(0x180f)具有id为0x2A19的特征。有效的UUID类似于
36353433-3231-3039-3837-363534333231
,或者对于“已知”id,类似于
2A29
的四个十六进制数字。我建议您使用应用程序LightBlue explorer从您的外围设备识别UUID。蓝牙设备的参考手册中有一个UUID列表,如它应该宣传的
2A29
,但当我尝试按此进行过滤时,什么都没有出现。嗯,这只是一个示例
2A29
实际上是制造商名称特征的UUID,而不是服务。著名服务列表如下-。同样,使用iOS应用商店的LightBlue Explorer查看您的外设广告。LightBlue是一款很棒的应用程序。请查看我的编辑。服务过滤器工作正常。一个外围设备有两套服务;它所提供的和它所宣传的(可能是所提供产品的子集)。表中列出的值是特性,而不是服务;e、 (0x180f)具有id为0x2A19的特性。