收藏
回答

iOS设备BLEPeripheralServer.addService一直返回1509000错误

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug BLEPeripheralServer.addService 微信iOS客户端 8.0.44 3.0.2

小程序 iOS系统 BLEPeripheralServer.addService 返回 {errno: 1509000, errMsg: "addBLEPeripheralService:ok"};

安卓系统返回 {errno: 0,errCode: 0, errMsg: "addBLEPeripheralService:ok"}

导致无法连接BLE蓝牙设备

iOS版本:15.4.1

型号:iPhone 6s Plus

示例代码:

const baseServiceId = '07CEDB7C-0A62-A8D6-57E2-C9BB0E4EB60B'
const baseCharacteristicId = '07CEDB7C-0A62-A8D6-57E2-C9BB0E4EB60C'

openBluetoothAdapter() {
    wx.openBluetoothAdapter({
            mode: 'peripheral',
            success: (res) => {
              console.log("openBluetoothAdapter(peripheral for iOS):", res);
              this.createBLEPeripheralServer();
            },
        fail: (res) => {
        console.error("openBluetoothAdapter (peripheral for iOS) error:", res)
      }
    })
},

createBLEPeripheralServer() {
  wx.createBLEPeripheralServer({
    success: (result) => {
      console.log('外围Server创建成功', result);
      if (result.server) {
        this.addBLEPeripheralServices(result.server)
      }
    },
    fail: (err) => {
      console.log('外围Server创建失败', err);
    }
  })
},

addBLEPeripheralServices(server) {
  server.addService({
    service: {
      uuid: baseServiceId,
      characteristics: [{
        uuid: baseCharacteristicId,
        properties: {
          writeNoResponse: true,
          read: true
        },
        permission: {
          writeable: true,
          readable: true
        }
      }]
    },
    success: (res) => {
      console.log('添加Service结果', res);
      if (res.errno == 0) {
        console.log('添加Service成功');
      }
      else if (res.errno == 1509000) {
        wx.showToast({
          title: "蓝牙设备未知错误",
          icon: "error"
        })
      }
    },
    fail: (err) => {
      console.log('添加Service失败', err);
    }
  })
},


iOS端创建Service时报1509000错误


最后一次编辑于  2023-12-04
回答关注问题邀请回答
收藏

2 个回答

  • 啊都给
    啊都给
    01-16

    大佬 addService什么意思,和createBLEPeripheralServer有什么区别?

    01-16
    有用
    回复
  • 灰爸
    灰爸
    2023-12-04

    该问题提交几天了,都没有任何回复???

    2023-12-04
    有用
    回复 1
    • 灰爸
      灰爸
      2023-12-05
      已经解决了,iOS设备调BLEPeripheralServer.addService创建服务时,特征值必须添加value属性,赋值任意数据都可以:
      2023-12-05
      回复
登录 后发表内容