164406769@qq.com
164406769@qq.com
  • 发布:2018-01-26 15:38
  • 更新:2018-12-16 06:55
  • 阅读:961

native.js IOS蓝牙发现不了外设,用OC编写的原生的就是可以的

分类:Native.js

native.js IOS蓝牙发现不了外设,用OC编写的原生的就是可以的

2018-01-26 15:38 分享
已邀请:

最佳回复

DCloud_heavensoft

DCloud_heavensoft

  • 云飞扬啊

    官方就不能给个蓝牙打印的demo么?给的都是理论的,实际上很多错误,跑不通啊。。

    2019-02-21 14:40

5毛钱特效

5毛钱特效

嘿嘿,花3000块钱去申请付费问答吧

  • 云飞扬啊

    申请付费了,没人理啊

    2019-02-21 14:40

164406769@qq.com

164406769@qq.com (作者)

export default {
name: "Bluetooth-test",
created() {

},
mounted() {

},
destroyed() {
//删除对象
if (this.central) {
plus.ios.deleteObject(this.central);
}
},
data() {
return {
// central:null
}
},
methods: {
testBluetooth() {
//调用IOS的蓝牙相关库
let CBCentralManager = plus.ios.importClass("CBCentralManager");
let centralObject = new CBCentralManager();
let delegate = plus.ios.implements("CBCentralManagerDelegate", {
"centralManagerDidUpdateState:": this.centerManagerDidUpdateState,
"centralManager:didDiscoverPeripheral:advertisementData:RSSI:": this.didDiscoverPeripheral
});
//初始化CentralManager对象
centralObject.initWithDelegatequeue(delegate, null);
},
centerManagerDidUpdateState(central) {
let state = central.plusGetAttribute("state");
console.log("中央外设管理器状态" + JSON.stringify(central));
console.log("state=" + state);
switch (state) {
case 0:
console.log("蓝牙状态未知");
break;
//CBCentralManagerStateResetting
case 1:
console.log("蓝牙已重置");
break;
//CBCentralManagerStateUnsupported
case 2:
console.log("不支持蓝牙");
break;
//CBCentralManagerStateUnauthorized
case 3:
console.log("蓝牙未认证");
break;
//CBCentralManagerStatePoweredOff
case 4:
console.log("蓝牙未开启");
break;
//CBCentralManagerStatePoweredOn
case 5:
{
console.log("蓝牙已开启");
let NSDictionary = plus.ios.importClass("NSDictionary");
let option = new NSDictionary();
let result = central.scanForPeripheralsWithServicesoptions(null, option);
console.log(result);
console.log(central.scanForPeripheralsWithServicesoptions);
}
break;
}
},
didDiscoverPeripheral(central, peripheral, advertisementData, RSSI) {
console.log("他妈的终于进来了");
console.log(arguments);
// console.log("central:" + JSON.stringify(central))
// console.log("peripheral:" + JSON.stringify(peripheral))
// console.log("advertisementData:" + JSON.stringify(advertisementData))
// console.log("RSSI:" + JSON.stringify(RSSI))
// var name = peripheral.plusGetAttribute("name");
// var uuid = peripheral.plusGetAttribute("identifier").plusGetAttribute("UUIDString");
// var rssi = RSSI.plusGetAttribute("intValue");
}
}
}

164406769@qq.com

164406769@qq.com (作者)

上面是代码,发现外设的回调怎么都进不去,Xcode开发的原生代码就是可以 的

164406769@qq.com

164406769@qq.com (作者)

又无人回答吗~~~

164406769@qq.com

164406769@qq.com (作者)

有大神或者官方工作人员解答下吗~

164406769@qq.com

164406769@qq.com (作者)

因为大家经常问我解决没,所以这边说下结果,问题最终未得到解决,放弃了此调用方式,走原生了

要回复问题请先登录注册