首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CBCentralManager未连接

CBCentralManager未连接
EN

Stack Overflow用户
提问于 2017-05-02 21:27:11
回答 1查看 1.3K关注 0票数 1

我正试着用蓝牙设备在附近连接。我能够发现,但我无法将它们联系起来。

此代理正在工作,但在发现我正在尝试连接其中一个外围设备后

代码语言:javascript
运行
复制
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {

        if let device = (advertisementData as NSDictionary).object(forKey: CBAdvertisementDataLocalNameKey) as? String {
            print(device)
            if device.contains("BODY") {
                self.connectPeripheral = peripheral
                self.connectPeripheral.delegate = self
                self.manager.connect(connectPeripheral, options: nil)
               self.manager.stopScan()
            }
        }
    }

这两个委托方法没有调用。其中一个应该被调用。

代码语言:javascript
运行
复制
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
        peripheral.delegate = self
        peripheral.discoverServices(nil)
    } 



func centralManager(_ central: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) {
    //NSLog("Error %@", error.debugDescription)
    print(error.debugDescription)
}
EN

回答 1

Stack Overflow用户

发布于 2017-10-21 02:12:16

您需要维护对CBPeripheral实例的强引用,因为一旦您告诉Central停止扫描,它将取消分配其发现的所有外围设备。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43739125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档