蓝牙协议名称用于 UISupportedExternalAccessoryProtocols

6
我正在使用iOS9和Swift 2构建一个应用程序,当iPhone连接/断开与汽车的蓝牙连接时,该应用程序会收到通知。我正在使用EAAccessoryManager.sharedAccessoryManager().connectedAccessories来获取已连接配件列表。
我在Info.plist中添加了UISupportedExternalAccessoryProtocols,但我不知道要添加哪些协议。请问有什么方法可以获取这些协议名称?我希望这些协议名称是通用的,可以适用于任何汽车的蓝牙设备。
当我运行应用程序时,即使我的手机已连接到我的汽车蓝牙,我也得到0个连接设备。
谢谢!

3
我认为该框架仅适用于MFi配件。您不会看到通用的蓝牙配件,例如车载蓝牙连接。 - Paulw11
@Paulw11 有没有办法查看通用配件?我特别想知道用户是否通过蓝牙2配对在他们的汽车中。一些应用程序可以做到这一点,但我还不知道如何实现。 - NickG
1
您可以通过av框架检测到与蓝牙音频设备的连接,但Core Bluetooth和External Accessory框架都无法提供此信息。 - Paulw11
3个回答

1

您需要请求提供者获取给定硬件的协议名称。

但据我了解,通过蓝牙检测硬件(使用特殊的iPod Accessory Protocol > iAP-Protocol),要求如下:

  1. 硬件包含此mfi芯片
  2. 您将“Made for iOS Product Plan ID(MFi PPID)”添加到您的info.plist中(在支持的外部配件协议中)

附注:您的手机通过蓝牙低功耗连接。


您提供的第一个链接已不可用。谢谢! - Tolotra Raharison

0

iOS 项目的 info.plist 文件中指定的协议名称由硬件产品构造者定义。它必须具有唯一的名称,通常使用反向 DNS 形式:com.yourcompany.product_name


0

您可以使用EA.Framework的示例应用程序,运行时它将检测您的iOS设备周围的经典蓝牙配件。如果您的设备在示例应用程序的表格中,请检查其信息,您将获得相应的协议。将其写入您的.plist文件以进行通信。这在我的情况下发生了。


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