我正在尝试通过BLE将ESP32模块连接到我的iPhone,并使用centralManager.scanForPeripherals(withServices: [carServiceCBUUID], options: nil)
,其中let carServiceCBUUID = CBUUID(string: "c0de0001-feed-f00d-c0ff-eeb3d05ebeef")
。我正在关注Ray Wenderlich的心脏监护程序教程,但是由于ESP32蓝牙模块未发布主要服务UUID,因此我执行scanForPeripherals
时找不到该设备。附件是BLE设备上的LightBlue信息的屏幕截图。有什么方法可以更改广告数据以便为服务做广告?我在ESP32 https://thejeshgn.com/2018/06/11/esp32-ble-building-an-echo-service-gatt-server/
答案 0 :(得分:1)
根据documentation of scanForPeripheralsWithServices:options:
,serviceUUIDs
参数可以为nil
-在这种情况下
所有发现的外围设备均返回,无论其支持的服务如何(不建议)
因此,除非计划在后台运行应用程序时使用后台模式进行扫描,否则只需将nil
作为serviceUUIDs
参数传递