flutter 如何使iOS应用程序与蓝牙连接?

hrirmatl  于 2023-02-05  发布在  Flutter
关注(0)|答案(2)|浏览(331)

如何使iOS应用程序与蓝牙?我需要一个应用程序,连接和交换数据,通过蓝牙与其他设备,笔记本电脑,例如。
很多包的BLE和找不到的经典蓝牙

mwg9r5ms

mwg9r5ms1#

如果你想使用苹果iOS设备的经典蓝牙接口,你必须遵守/接受Apple's MFi许可计划(Made for iPhone/iPod/iPad),这是一个主要障碍,也是缺乏相应库的原因。

ecr0jaav

ecr0jaav2#

简短回答:你不会想要经典的蓝牙,你需要BLE。它支持你想要的所有此类用例。参见Core Bluetooth
太长的回答经典蓝牙和iPhone从我多年的建设耳塞:
继续Risto的回答,即使有MFi认证(这需要向设备中添加额外的芯片,而不仅仅是许可证),您仍然无法获得对BR/EDR的一般访问权限("经典")接口。你只能访问iAP2,它是一个类似SPP的串行协议,但不是SPP。如果你是从Android移植的,你可能使用的是SPP,对不起,这是不可用的。你需要切换到BLE。
如果您构建的音频设备还需要非音频控制通道,则MFi认证非常有用。它可以轻松确保音频连接和控制连接连接到同一设备。使用BLE很难做到这一点。但iAP2不是一个特别好的协议,并且有奇怪的角落情况。你不应该仅仅为了得到一个类似SPP的串行协议而经历MFi的成本和麻烦。
在iPhone上,访问BR/EDR非音频配置文件仅限于专有的iAP2和GATT over BR/EDR(这听起来并不那么有用,因为大多数芯片都不支持它)。经典音频配置文件仅限于Apple的音频框架支持的配置文件,这不是很灵活。
如果你做一个蓝牙音频设备,在电路板上有一点额外的空间,有足够的余量在BOM中添加一个芯片,并且你的SoC支持它,那么MFi绝对值得一试。你可以稍微改善配对体验,而且它可以让管理额外的控制通道变得更容易。另外,你可以在 Package 上加上"为iPhone制造"的标志。对于助听器(我对MFi的使用经验比较少),我认为MFi是今天的必备品。从我的随意调查来看,它似乎增加了一些非常好的功能。
对于其他人,你想要BLE。

相关问题