2

当我第二次尝试显示 BluetoothAccessoryPicker 时,应用程序在 EXC_BREAKPOINT 下一行崩溃。只有在蓝牙关闭时才会发生这种情况。它只发生在 iOS 10 上。

[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:namePredicate completion:^(NSError * _Nullable error)
     {

}];

脚步:

  1. 首先调用上述函数并在蓝牙“打开”警报中选择“确定”。
  2. 现在再次调用上面的方法,应用程序崩溃了EXC_BREAKPOINT

更新:我还提交了关于苹果的错误报告,他们提供了对我的错误的响应为“27689885 重复(打开)”

谢谢!

4

1 回答 1

0

以下是我暂时处理这个问题的方法:

import ExternalAccessory
import CoreBluetooth

class EAViewController: UIViewController, CBCentralManagerDelegate {

var btManager: CBCentralManager?

override func viewDidLoad() {
    super.viewDidLoad()
    btManager = CBCentralManager(delegate: self, queue: DispatchQueue.main, options: [CBCentralManagerOptionShowPowerAlertKey:true])
}

func centralManagerDidUpdateState(_ central: CBCentralManager) {
    pair()
}

func pair() {
    if btManager.state == .poweredOn {
        EAAccessoryManager.shared()
            .showBluetoothAccessoryPicker(withNameFilter: nil)
    }
}
}

这将显示启用蓝牙的提示或在启用蓝牙时显示选择器。

于 2016-11-08T10:08:01.433 回答