我最近开始使用该EAAccessoryManager
showBluetoothAccessoryPickerWithNameFilter
方法,以便在我们的应用启动时连接到我们的 MFI 蓝牙配件(如果尚未连接)。我遇到了以下情况:
- 配件断电
- 用户启动应用程序
- 显示配件选择器
- 用户打开配件(之前已配对,因此重新连接)
- 附件选择器继续显示,并且应用程序不会收到一个,
EAAccessoryDidConnectNotification
直到用户通过按“取消”关闭附件选择器。
在我上面解释过的情况下,即使我们连接到由我们定义的附件NSPredicate
,选择器仍然存在,并且在调用选择器的完成块之前,我们不会收到附件已连接的通知。用户有点陷入困境。
我们正在运行 iOS 7.1.1,并针对 7.1 和 7.0 进行了测试。
任何帮助,将不胜感激。这是一些显示我所看到的日志:
2014-04-28 12:03:48.028 App[508:60b] BTM: attaching to BTServer
2014-04-28 12:03:48.262 App[508:60b] BTM: setting pairing enabled
2014-04-28 12:03:55.578 App[508:60b] BTM: attempting to connect to service 0x00000001 on device "Accessory-10" 00:07:80:79:92:8D
2014-04-28 12:03:55.966 App[508:60b] BTM: connection to service 0x00000001 on device "Accessory-10" 00:07:80:79:92:8D succeeded
2014-04-28 12:03:55.991 App[508:60b] BTM: attempting to connect to service 0x00000080 on device "Accessory-10" 00:07:80:79:92:8D
2014-04-28 12:03:56.024 App[508:60b] BTM: connection to service 0x00000080 on device "Accessory-10" 00:07:80:79:92:8D succeeded
2014-04-28 12:04:06.845 App[508:60b] BTM: setting pairing disabled
2014-04-28 12:04:06.847 App[508:60b] BTM: disabling device scanning
2014-04-28 12:04:06.856 App[508:60b] __46-[LoginViewController selectBluetoothDevice]_block_invoke Error: Error Domain=EABluetoothAccessoryPickerErrorDomain Code=2 "The operation couldn’t be completed. (EABluetoothAccessoryPickerErrorDomain error 2.)"
2014-04-28 12:04:06.928 App[508:60b] EAAccessoryDidConnectNotification
2014-04-28 12:04:06.935 App[508:60b] Accessory connected!