我正在为我公司的主要产品发布工作。我们正在设计一个我们想要集成到iOS应用程序中的新设备。 (仅供参考,我们最近已被Apple MFi计划录取,因此我们已经过了这一步。)
我们希望创建一个硬件/软件生态系统,我们的用户可以在其中启动我们的iPad应用程序(是的,它专用于iPad而非iPhone或iPod Touch设备),应用程序将自动发现并链接我们已开发的任何近距离硬件。
这意味着我需要在iPad和硬件中实现某种形式的设备连接过程。
有没有办法在iOS应用程序中编码自动连接到蓝牙设备?
我知道具有此功能的Core Bluetooth Framework,但它只适用于新的iPhone 4S。这不是一种选择。
我还研究过外部附件框架,它可用于连接外部设备,无论它们是通过iPod端口还是蓝牙连接。这是一个选项,但是,如果我的理解是正确的,我们的硬件必须已经与iPad配对才能连接到iOS软件。这不太可取,因为尽管我们的许多设备可能在某个时间点不在附近,但我们的客户可能拥有他们可能想要连接到我们软件的100台设备。
我的合理选择或替代方案是什么?最终目标是为我们的用户提供一种非常简单的方法,使他们能够从我们的软件和iPad上连接到我们的设备。
注意:我不得越狱iPad或违反任何Apple TOS协议。
更新(2012年3月7日)我今天看到了新iPad' (因为它被正式称为)将是Bluetooth 4.0 capable。我认为这意味着这款iPad设备将能够使用Core Bluetooth Framework。这并没有立即解决我的问题,因为我们确实希望至少与上一代"" iPad设备,但值得指出可能正在寻找这样一个答案的其他人。
答案 0 :(得分:1)
您的另一个选择是使用Bonjour进行WiFi(AdHoc或基础设施)。例如,您将能够检测附近的设备(如果它是通过SSID维护它自己的AdHoc;如果它在基础设施网络中,则通过服务被宣布)。一个很大的缺点是您无法直接(从应用程序)连接到设备的网络 - 用户必须手动连接。
对于BT:缺点是缺少串行协议(未在iPhone / iPod / iPad中实现)。
答案 1 :(得分:1)
如果没有先配对,您无法将iOS设备连接到蓝牙设备。它是由Apple专门用来减少某人在没有用户知道的情况下连接蓝牙设备的可能性。如果将每个设备配对是不可接受的(听起来像是这样),并且您不想开发加密狗,我唯一能看到的剩余路径就是让您的设备能够像网状网络一样在它们之间传输数据。这样,用户只需要与单个设备配对,配对的设备就可以在其他设备和iPad之间进行通信。