0

我有一个硬件设备,它可以通过蓝牙与 Android 和 IOS 上的第三方应用程序进行通信,以来回发送数据。使用 Android 我可以做到这一点,但是对于 IOS,我没有任何信息。

到目前为止,收集到的用于 IOS 设备的信息是: 1. 应用程序在 Iphone 5 上运行 2. 硬件启用了 MFI 3. 支持 IAP2

请指导如何将硬件连接到应用程序以及哪些其他信息是必不可少的?连接是否需要 AppName、BundleID、BundleSeedID 和 ProtocolName?如果是,我们如何获得这些详细信息?

我尝试解压缩应用程序,但 Info.plist 文件看起来乱码,无法从中获取太多信息。

目前我可以通过蓝牙将硬件与 iPhone 连接起来,但我真正关心的是如何与上面的特定应用程序进行通信。

此外,如果您可以提供一些链接或伪代码来启动硬件和 IOS 应用程序之间的会话。

4

1 回答 1

1

我假设您已经在 Android 上连接了 SPP 配置文件。然而,对于 iOS,SPP(BLE 是另一回事,不需要 MFi)被隐藏,但需要 MFi 身份验证来进行原始数据链接。

由于您想在硬件设备和 iPhone 之间建立原始数据链接,您需要:

  1. 确保你的硬件有MFi芯片,一般这个芯片是通过I2C和你的硬件连接的。
  2. 在步骤 1 之后,确保您可以在硬件上与该芯片通信,幸运的是硬件供应商或 MFi 供应商将支持这种代码或二进制文件。
  3. MFi 通道有一个特定的 UUID(可能由 Apple 定义?)来替换 SPP 官方(由蓝牙 SIG 定义)的 UUID,因此如果您想在您的硬件和 iPhone 之间建立连接,您需要注册 iOS 定义的 UUID并使它们与正常的 SPP 配置文件相同。
  4. RFCOMM 通道创建后,iOS 将首先验证链接,就像 3 次握手或其他东西一样,因此您的硬件只需与 MFi 芯片通信并将令牌传输到 iOS。
  5. 之后,iOS 将为您的硬件设置此 RFCOMM 通道(实际上与 SPP 相同),然后您可以在它们之间发送/接收数据。
于 2016-07-19T07:22:10.050 回答