EAExternalAccessory 蓝牙配件选择器不显示在屏幕上

Posted

技术标签:

【中文标题】EAExternalAccessory 蓝牙配件选择器不显示在屏幕上【英文标题】:EAExternalAccessory Bluetooth Accessory Picker doesn't display on screen 【发布时间】:2020-12-09 10:32:21 【问题描述】:

我一直在尝试在 Swift 5 上使用以下方法来显示蓝牙配件选择器:

DispatchQueue.main.async 
    EAAccessoryManager.shared().showBluetoothAccessoryPicker(withNameFilter: nameFilter, completion: nil)

但我收到以下错误:

A constraint factory method was passed a nil layout anchor.  This is not allowed, and may cause confusing exceptions. Break on BOOL _NSLayoutConstraintToNilAnchor(void) to debug.  This will be logged only once.  This may break in the future.

我尝试添加一个符号断点,但它没有触发。我也试过用不同的视图从代码的其他部分调用这个方法,但仍然没有成功。

非常感谢您对这个问题的帮助!

【问题讨论】:

我也遇到了这个问题,你解决了吗? 要显示选择器,您需要添加var window: UIWindow?,另请参阅问题***.com/questions/64794583/… 嘿@Nkokhelox。我已经添加了 UIWindow var,但仍然无法正常工作:( 【参考方案1】:

当 Apple 推出新的基于场景的生命周期时,它就崩溃了。回滚到经典版本,它又开始工作了。更多细节在这里:https://***.com/a/70823487/415982

【讨论】:

以上是关于EAExternalAccessory 蓝牙配件选择器不显示在屏幕上的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 如何通过蓝牙发现外部配件?

iOS蓝牙配件最高速度?

使用蓝牙连接 iPod 的 iOS 外部配件框架

iPhone7蓝牙搜不到设备怎么办?iPhone7蓝牙连不上怎么办

iOS 应用程序可以通过 WiFi 与 MFi 配件通信吗?

iOS13隐藏的小技巧