小编Ali*_* A.的帖子

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

我刚接触BLE,目前正在尝试制作一个简单的应用程序,它将连接到我的自定义BLE设备.我能够发现BLE设备,但由于某种原因我无法连接到它.我尝试用'浅蓝'检查它,它显示我的设备可连接,似乎工作正常.但在我发现设备后,我的应用程序,CB经理尝试连接到它,似乎"冻结"?功能'didConnect peripheral'永远不会被触发,外设状态永远是'连接'.

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

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

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

这是我的代码:

import UIKit
import CoreBluetooth

class 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) …
Run Code Online (Sandbox Code Playgroud)

xcode ios core-bluetooth bluetooth-lowenergy swift

6
推荐指数
1
解决办法
2866
查看次数

标签 统计

bluetooth-lowenergy ×1

core-bluetooth ×1

ios ×1

swift ×1

xcode ×1