Controlar dispositivo de audio Bluetooth con iPhone

Estoy buscando escribir una aplicación para iPhone que pueda controlar la radio y el reproductor de CD en el automóvil. Radio y reproductor tienen conexión Bluetooth disponible.

Comencé esta pregunta para obtener toda la información que necesito para este lugar. Tengo pocas preguntas, pero si encuentra algo que no haya pedido que sea importante para que comience a desarrollar esta aplicación, hágamelo saber.

He leído sobre el perfil AVRCP y el dispositivo Bluetooth en el automóvil es compatible con AVRCP 1.3, que es lo suficientemente bueno para mí, teniendo en cuenta los controles que se pueden realizar en esa versión del protocolo.

Leí mucho sobre personas que dicen que "el dispositivo Apple solo puede interactuar entre sí", "el dispositivo Apple no se puede conectar por Bluetooth a un dispositivo que no sea de Apple", "el programa MFi es obligatorio si quieres hacerlo", "MFi no es necesario ", etc. Mi primera pregunta es:

1) ¿Es posible emparejar el iPhone (4, 4S) con la radio y el reproductor de CD en el automóvil a través de Bluetooth y controlar las estaciones de radio y la música con cualquier versión de iPhone? En caso afirmativo, ¿cuáles son las limitaciones para hacer que este tipo de conexión Bluetooth sea exitosa?

También hay muy poca información sobre los roles en los que el iPhone puede funcionar. Para AVRCP hay dos tipos de roles: controlador y rol de destino. Al leer este documento:https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf No encontré respuesta a mi segunda pregunta:

2) ¿Puede el iPhone actuar como un controlador y emitir todos los comandos disponibles indicados en AVRCP 1.3 al dispositivo de destino (radio y reproductor de CD)?

También me gustaría saber sobre los marcos disponibles para este problema en particular. Sé que hay varios de ellos, pero si alguien reconoce el correcto para mi problema, me gustaría saber:

3) ¿Qué marco para interactuar con el dispositivo de destino debería usar?

Desde el punto de vista del desarrollador, también estoy interesado en las API disponibles para interactuar con el dispositivo Bluetooth conectado. Dado que estoy creando mi propia aplicación y asignando acciones a los botones, dentro de los métodos asignados a los botones necesito realizar el envío de mensajes al dispositivo de destino. Así que mi siguiente pregunta es:

4) ¿Alguien sabe cómo hay una forma de enviar comandos al dispositivo de destino (iniciar / detener / pausar / avanzar / retroceder, etc.) como parte de alguna API proporcionada en XCode, o cada mensaje que atiendo para enviar por Bluetooth a mi objetivo? ¿El dispositivo que necesito realizar de acuerdo con la documentación del protocolo (hacer un mensaje completo (encabezado, parte del comando, etc.) por mi cuenta)?

AVRCP fue mi pensamiento para lograr esta aplicación. Si estoy equivocado, por favor hágamelo saber. Bluetooth tiene diferentes perfiles y, cuando entiendo, el mensaje se envía desde un dispositivo, el propio perfil maneja el mensaje, lo interpreta y lo entrega al dispositivo de destino para que el dispositivo de destino pueda entenderlo. No entiendo cómo se maneja un mensaje enviado desde el iPhone al dispositivo Bluetooth desde el momento en que lo envío desde mi código de Objective-C (o C). Esa es la principal duda que tengo y está relacionada con la pregunta 4:¿Necesito hacer mensajes sin formato en el formato correcto para enviar comandos AVRCP al dispositivo o puedo usar alguna API que reconocerá esos mensajes como AVRCP (o cualquier otro tipo) y los enviaré al dispositivo de destino??

Esta última pregunta (si supongo que hay algún tipo de respuesta positiva a todas las anteriores) es la que más me preocupa desde el punto de vista del desarrollador. Entonces, si alguien tuviera experiencia con este problema específico, agradecería cualquier tipo de respuesta o consejo.

Estoy realmente esperando sus respuestas. Espero que se inicie una discusión constructiva y útil sobre este tema y que se escriban muchas informaciones útiles.

Atentamente.

Respuestas a la pregunta(2)

Su respuesta a la pregunta