Каков самый простой способ подключения устройства к iPad из приложения?

Я работаю над крупным выпуском продукта для своей компании. Мы разрабатываем новое устройство, которое мы хотели бы интегрировать в приложение iOS. (FYI, мы недавно были приняты в программу Apple MFi, поэтому мы прошли этот шаг.)

Мы хотим создать экологическую систему аппаратного/программного обеспечения, в которой наши пользователи могут начать наше iPad-приложение (да, это касается iPad и устройств iPhone или iPod Touch), и приложение автоматически обнаружит и свяжет с использованием любого оборудования для непосредственной близости, которое мы разработали.

Это означает, что мне нужно будет реализовать некоторую форму процесса подключения устройства как на iPad, так и на аппаратном уровне.

Есть ли способ закодировать автоматическое подключение к устройству Bluetooth из приложения iOS?

Мне известно о базовой структуре Bluetooth, которая обладает этой возможностью, однако она работает только с новым iPhone 4S. Это не вариант.

Я также изучил структуру внешних аксессуаров, которую можно использовать для подключения к внешним устройствам независимо от того, подключены ли они через порт iPod или Bluetooth. Это вариант, но если мое понимание верное, наше оборудование уже должно быть сопряжено с iPad, прежде чем программное обеспечение iOS сможет подключиться к нему. Это меньше, чем предпочтительнее, потому что, хотя многие из наших устройств могут не находиться в непосредственной близости в какой-то момент времени, наши клиенты могут потенциально иметь 100 устройств, с которыми они могут захотеть подключиться к нашему программному обеспечению.

Каковы мои разумные варианты или альтернативы? Конечной целью является предоставление очень простых средств для наших пользователей, чтобы они могли подключаться к нашим устройствам из нашего программного обеспечения на iPad.

ПРИМЕЧАНИЕ. Я НЕ ДОЛЖЕН сделать джейлбрейк iPad или нарушить любые соглашения Apple TOS.

ОБНОВЛЕНИЕ (3-7-2012) Сегодня я увидел, что "Новый iPad" (как его официально называют) будет Поддержка Bluetooth 4.0. Я предполагаю, что это означает, что это iPad-устройство сможет использовать базовую инфраструктуру Bluetooth. Это не сразу решает мою проблему, потому что мы хотим оставаться совместимыми, по крайней мере, с iPad-устройством последнего поколения, но это стоит указать на других, которые могут искать такой ответ.

Ответ 1

Вы не можете подключить устройство iOS к устройству Bluetooth без сопряжения в первую очередь. Это намеренно построено таким образом Apple, чтобы уменьшить вероятность того, что кто-то сможет подключить Bluetooth-устройство, не зная об этом пользователя. Если соединение с каждым устройством неприемлемо (и похоже, что оно есть), и вы не хотите разрабатывать ключ, единственный оставшийся путь, который я вижу, - это сделать ваши устройства способными передавать данные между ними, как сетка. Таким образом, пользователю нужно будет только подключиться к одному устройству, и этот спаренный блок будет передавать связь между другими устройствами и iPad.

Ответ 2

Одна из ваших альтернатив будет заключаться в WiFi (AdHoc или Infrastructure) с Bonjour. Например, вы могли бы обнаружить устройство поблизости (если он поддерживает собственный AdHoc, то SSID, если он в инфраструктурной сети, а затем по объявлению службы). Один большой недостаток заключается в том, что вы не можете напрямую подключаться (из приложения) к сети устройства - пользователю придется делать это вручную.

Что касается BT: большой недостаток - отсутствие последовательного протокола (не реализовано в iPhone/iPod/iPad).