如何通过蓝牙将硬件设备连接到 Iphone 应用程序

How to connect hardware device to an Iphone application over Bluetooth

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

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

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

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

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

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

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

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

  1. 确保你的硬件有MFi芯片,一般这个芯片是通过I2C和你的硬件连接的。
  2. 在第 1 步之后确保您可以在您的硬件上与此芯片通信,幸运的是硬件供应商或 MFi 供应商将支持这种代码或二进制文件。
  3. MFi 通道有一个特定的 UUID(可能由 Apple 定义?)来替换 SPP 官方(由蓝牙 SIG 定义)UUID,因此如果你想在你的硬件和你的 iPhone, 你需要注册 iOS 定义的 UUID 并使它们与普通的 SPP 配置文件相同。
  4. RFCOMM 通道创建后,iOS 会首先验证 link,就像 3 次握手之类的,所以你的硬件只是与 MFi 芯片通信并将令牌传输到 iOS.
  5. 之后iOS会为你的硬件设置这个RFCOMM通道(实际上和SPP一样),然后你就可以send/recv它们之间的数据了。