草庐IT

ios - EAAccessoryManager showBluetoothAccessoryPickerWithNameFilter 在 iOS 10 上崩溃

coder 2024-01-29 原文

当我第二次尝试显示 BluetoothAccessoryPicker 时,应用程序在以下行崩溃并显示 EXC_BREAKPOINT。仅当蓝牙关闭时才会发生。而且它只发生在 iOS 10 上。

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

}];

步骤:

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

更新:另外,我已经在 apple 上提交了错误报告他们对我的错误的响应是“27689885 的副本(打开)”

谢谢!

最佳答案

暂时我是这样处理的:

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)
        }
    }
}

这将显示启用蓝牙的提示,或者如果启用了蓝牙则显示选择器。

关于ios - EAAccessoryManager showBluetoothAccessoryPickerWithNameFilter 在 iOS 10 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39509272/

有关ios - EAAccessoryManager showBluetoothAccessoryPickerWithNameFilter 在 iOS 10 上崩溃的更多相关文章

随机推荐