ios – Swift 3:无法通过BLE连接到外设

ios – Swift 3:无法通过BLE连接到外设,第1张

概述我刚接触BLE,目前正在尝试制作一个简单的应用程序,它将连接到我的自定义BLE设备.我能够发现BLE设备,但由于某种原因我无法连接到它. 我尝试用’浅蓝’检查它,它显示我的设备可连接,似乎工作正常.但在我发现设备后,我的应用程序,CB经理尝试连接到它,似乎“冻结”?功能’didConnect peripheral’永远不会被触发,外设状态永远是’连接’. 我该如何识别问题?我可以在连接方法中包含任 我刚接触BLE,目前正在尝试制作一个简单的应用程序,它将连接到我的自定义BLE设备.我能够发现BLE设备,但由于某种原因我无法连接到它.
我尝试用’浅蓝’检查它,它显示我的设备可连接,似乎工作正常.但在我发现设备后,我的应用程序,CB经理尝试连接到它,似乎“冻结”?功能’dIDConnect peripheral’永远不会被触发,外设状态永远是’连接’.

我该如何识别问题?我可以在连接方法中包含任何选项,还是以某种方式跟踪连接过程?

我很感激任何建议在哪里寻找问题.

在XCode 8.2.1中工作,使用Swift 3. iOS 10.2.1安装在测试手机上

这是我的代码:

import UIKitimport CoreBluetoothclass InfoPageVIEwController: UIVIEwController,CBCentralManagerDelegate,CBPeripheralDelegate {var manager:CBCentralManager!var peripheral:CBPeripheral!let BEAN_name = "MyDevice"overrIDe func vIEwDIDLoad() {    super.vIEwDIDLoad()    manager = CBCentralManager(delegate: self,queue: nil)}func centralManager(_ central: CBCentralManager,dIDdiscover peripheral: CBPeripheral,advertisementData: [String : Any],RSSi RSSI: NSNumber) {    let device = (advertisementData as NSDictionary)        .object(forKey: CBAdvertisementDataLocalnameKey)        as? Nsstring    if device?.contains(BEAN_name) == true {        self.manager.stopScan()        self.peripheral = peripheral        self.peripheral.delegate = self        manager.connect(peripheral,options: nil)        print("discovered \(BEAN_name)")    }}func centralManager(    central: CBCentralManager,dIDConnect peripheral: CBPeripheral) {    print("connected to \(BEAN_name)")    peripheral.discoverServices(nil)}
解决方法
func centralManager(central: CBCentralManager,dIDConnect peripheral: CBPeripheral) {}--------------------^

与:

func centralManager(_ central: CBCentralManager,dIDConnect peripheral: CBPeripheral)--------------------^

方法的签名不正确,你错过了_.

方法签名很重要.
我们可以假设,因为这些委托方法是可选的,在内部,Apple代码会自行询问:
我的代理是否有方法func centralManager(_ central:CBCentralManager,dIDConnect peripheral:CBPeripheral)实现(respondsToSelector :)?在你的情况下,不是,因为它不一样,然后你的不被调用.

您从文档中复制/粘贴一个或删除它,让XCode执行自动完成 *** 作.

总结

以上是内存溢出为你收集整理的ios – Swift 3:无法通过BLE连接到外设全部内容,希望文章能够帮你解决ios – Swift 3:无法通过BLE连接到外设所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1052957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存