连接外部配件:无需用户交互即可连接蓝牙设备

6
根据iOS 6及以上版本的EAAccessoryManager类参考,使用showBluetoothAccessoryPickerWithNameFilter可以显示一个辅助选择器,帮助用户连接包括iAP蓝牙唯一ID在内的外部配件。
现在我们想要编程方式连接列表中的一个外部配件。
以下是我们需要您支持的内容:
1.如何在程序中连接手机范围内的任何外部设备?
2.如何在程序中无需用户交互即可连接任何外部设备?
3.如何以编程方式获取用户手机范围内的外部设备列表?
4.如何获取未连接但在范围内的外部设备的EAAccessory对象列表?
5.我们能否将EAAccessory对象存储在NSUserDefaults中?如果可以,如何进行操作?由于EAAccessory没有实现encodeWithCoder和initWithCoder方法,因此无法存储在NSUserDefaults中。
使用BT Classic可以解决此问题,但我们需要BTLE解决方案。

我也在尝试寻找相同的答案,你有自动从对话框选择蓝牙设备的答案吗?或者存储EAAccessory对象的方法? - JosephT
1个回答

0

你无法通过编程方式连接到蓝牙3.x设备 - iOS没有相应的API。如果你的蓝牙3.x符合MfI标准,那么理论上你可以显示ExternalAccessoryBluetoothPicker,这将允许你在应用程序内进行用户交互配对 - 从而避免打开设置应用程序的需要。

然而,自iOS 13以来,大多数应用程序都无法正常工作。这是因为苹果引入了新的基于场景的生命周期。回滚到经典的生命周期,它就可以再次正常工作。更多细节请参见:https://dev59.com/a2kMtIcB2Jgan1znSiao#70823487


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接