2012-02-21 11 views
5

He estado tratando de encontrar ejemplos sobre la comunicación con dispositivos bluetooth en iOS y me he estado quedando corto. Según tengo entendido, SPP aún no es compatible. En el nivel más simple, me gustaría enviar una señal simple 1 o 0 al dispositivo bluetooth que estoy creando. (Es un interruptor bluetooth que enciende y apaga algo). ¿Hay alguna manera de hacerlo ingeniosamente a través de los perfiles HID o HFP?iPhone Bluetooth Ejemplos de comunicación

Respuesta

2

Por lo que sé, si su dispositivo externo no es un dispositivo, entonces debe usar el Marco de accesorios externo para comunicar su aplicación con él. Por lo tanto, su dispositivo externo debe estar certificado por Apple a través del programa Made for Ipod (MFI). Espero que esto ayude.

+0

Gracias. ¿Conoce algún ejemplo de uso de este marco? –

+1

Revise este enlace https://developer.apple.com/library/ios/search/?q=eaaccessory. Encontrará documentación sobre el Marco de accesorios externos. Apple también proporciona una demostración de muestra para mostrar cómo establecer una conexión con un accesorio externo. El ejemplo se compila y ejecuta, sin embargo, necesita un dispositivo externo si desea probar las funcionalidades del ejemplo dado. Si tiene alguna pregunta o información sobre este marco, póngase en contacto conmigo porque recientemente comencé a desarrollar una aplicación basada en este marco. – rokridi

+0

¡Muchas gracias! –

-2

NO. si el dispositivo tiene certificación MFi o no, puede conectar el dispositivo al iPhone si el perfil Bluetooth es HFP o HID (perfiles normales, no el perfil iAP). Piensa en los auriculares bluetooth o en el teclado. ¿necesita marca MFi para usar? NO. Nunca.

+3

Eso es realmente incorrecto: hay una gran diferencia entre lo que iOS verá y reconocerá y lo que su aplicación puede ver. –

+0

@Zeroxide: ¿Tiene algún código de muestra para conectarse con un dispositivo externo? –

+0

@Zeroxid: ¿Cómo se puede conectar y un dispositivo externo con perfil Bluetooth HID? . El perfil HID se usa para ingresar el teclado. El programa MFi debe necesitar un dispositivo certificado MFi para establecer conexión y comunicación adicional. Otro dispositivo de destino inteligente debe ser de baja energía, luego puede usar el marco CoreBluetooth para la comunicación. –

4

La respuesta corta a su pregunta es que you can't connect to an arbitrary Bluetooth device es posible que tenga, solo se puede conectar a un dispositivo Bluetooth que haya venido a través del programa de licencia de Apple (es decir, la etiqueta "Hecho para iPod/iPhone"). De la documentación de Apple:

Q: [El marco de acceso externo permite] mi aplicación para comunicarse con dispositivos Bluetooth. Entonces, ¿por qué mi aplicación no ve el accesorio Bluetooth que se encuentra al lado de mi iPhone?
A: El marco de accesorios externos está diseñado para permitir que las aplicaciones de iOS se comuniquen solo con los accesorios de hardware que se desarrollan bajo el programa de licencia MFi de Apple.

lo que no hay API pública para acceder a un dispositivo Bluetooth arbitraria desde el interior de iOS: usted tiene que pasar por el marco accesorio externo para comunicarse a través de Bluetooth, y la misión de la EEP es "comunicar con dispositivos IFM," no "comunicarse con dispositivos externos arbitrarios". Un desarrollador suficientemente ingeniosa probablemente podría piratear algo ahí, pero -

  • es una tarea no trivial
  • son espectacularmente poco probable que conseguir más allá del proceso de aprobación de la App Store

Así que no es sólo gran parte del mismo; es poco probable que el esfuerzo de hacerlo lo recompense.

Si ya existe un dispositivo MFi que puede ser forzado a hacer lo que usted desea, esa es probablemente su mejor oportunidad, por supuesto, sin pasar por el proceso de aprobación/licencia de MFi. Si quieres hacerlo, ten cuidado y buena suerte.

Estoy responder a esta pregunta retraso debido a la respuesta de Zeroxide es incorrecta (se puede utilizar un teclado Bluetooth al azar con su dispositivo iOS porque de Apple implementado este respecto, que es diferente del que le da una trayectoria API pública para hacer lo mismo) y creo que la respuesta de Rokridi es incompleta, aunque dirigida en la dirección correcta.

Editar: Una advertencia se ha agregado desde entonces a la página vinculada de Apple sobre Bluetooth Low-Energy dispositivos. Así que hay una laguna, pero no es una gran porque muy pocos dispositivos Bluetooth LE se han producido hasta el momento.

+1

El artículo QA1657 Technical Q & A mencionado más arriba también establece: "Los accesorios Bluetooth de baja energía no interactúan con el marco de accesorios externos y NO SON OBLIGATORIOS PARA SER MFi. En su lugar, las aplicaciones utilizan el marco CoreBluetooth para comunicarse con accesorios Bluetooth de baja energía de iOS o OS X. " –

+0

Gracias por señalar eso. Actualizado la respuesta. –

1

Si desea utilizar el Bluetooth clásico (no BLE), primero debe VINCULAR el dispositivo iOS con el dispositivo Bluetooth (en Configuración). Si no puede hacer eso, entonces no puede comunicarse con él con su aplicación.

+0

He emparejado mi teclado bluetooth con iPhone, está funcionando bien. Entonces, ¿cómo puedo buscar y obtener los detalles del dispositivo usando ExternalAccessoryFramework –

Cuestiones relacionadas