收藏
回答

iOS writeBLECharacteristicValue有回调,但为什么没有返回任何数据呢?

如图调用,但是回调有执行,却没有数据返回。Android OK。

回答关注问题邀请回答
收藏

3 个回答

  • Demons
    Demons
    2022-06-09

    试下,打印complete,有返回信息吗?

    2022-06-09
    有用
    回复 2
    • Wei
      Wei
      2022-06-09
      谢回复。刚有打印complete,返回同success。
      2022-06-09
      回复
    • Wei
      Wei
      2022-06-09
      再补充说明一下,ios 版本是14.7.1,微信版本是8.0.23
      2022-06-09
      回复
  • 大熊
    大熊
    2023-07-12

    需要在wx.onBLECharacteristicValueChange 监听回调数据

    2023-07-12
    有用
    回复
  • Lipeng
    Lipeng
    2022-06-09

    这里只会返回发送数据的成功或失败,具体的业务数据是在wx.onBLECharacteristicValueChange里监听的呀

    2022-06-09
    有用
    回复 6
    • Wei
      Wei
      2022-06-09
      刚有对比了android,在writeBLECharacteristicValue 回调中,ArrayBuffer 有返回15个字节的数据,ios 则为0。不知道为何二者有区别,谢谢。
      2022-06-09
      回复
    • Wei
      Wei
      2022-06-09
      另外,再补充一下,Android 得到的是device id 是04:02:02....,而ios 得到的device id是524F007F-.....,其他的比如characteristicId/serviceId是相同的。
      2022-06-09
      回复
    • Wei
      Wei
      2022-06-09
      再针对回复一下,onBLECharacteristicValueChange,前面打印的就是在onBLECharacteristicValueChange里面打印的,没有看到数据(ios)
      2022-06-09
      回复
    • Lipeng
      Lipeng
      2022-06-09回复Wei
      Android的deviceId直接用的Mac地址,iOS隐去了MAC用的UUID,不能混用的,建议不要保存deviceId,从每次扫描结果里拿
      2022-06-09
      回复
    • Wei
      Wei
      2022-06-09回复Lipeng
      是的,我这边没有保存device id,是从扫描结果里面得到的值。刚才主要是想对比android 与 ios,在write的时候,三个id,只有device id不同,其他两个都是一致。但是验证的结果还是在返回值里面,ios没有数据,而android确实是ok的。
      2022-06-09
      回复
    查看更多(1)
登录 后发表内容