2012-08-07 14 views
9

El método CBCentralManager retrieveConnectedPeripherals dice que obtiene "la lista de los periféricos actualmente conectados al sistema". La definición de sistema es un poco ambigua aquí.¿Qué es exactamente un dispositivo conectado con BLE en iOS?

¿Esto significa que recibo una lista de periféricos conectados a mi aplicación, o una lista de periféricos conectados a cualquier aplicación?

Si puedo conectar periféricos a otra aplicación, ¿esto también significa que varias aplicaciones se pueden conectar al mismo periférico?

¿Esto solo puede ocurrir si la aplicación está en primer plano, o debo permitir la posibilidad de que una aplicación en segundo plano esté enviando comandos a un periférico que creo que pertenece a mi aplicación?

+1

Muy buena pregunta. No podría estar más de acuerdo con la falta de documentación de Apple en este marco – chwi

Respuesta

7

Los dispositivos habilitados para BLE 4.0 generalmente se conectan sin restricciones con CBCentralManager. Lo que es una conexión limitada y sin límites, puede saber desde este link. Un dispositivo habilitado con BLE 4.0 se puede conectar con un solo dispositivo maestro, lo que mejora la conectividad segura. Debe seguir este link. Ya sea en primer plano de fondo, si existe la conexión, el dispositivo esclavo BLE no se conectará con otra aplicación o dispositivo.

+0

La última parte es parcialmente falsa. Los periféricos BLE conectados a iOS se conectarán a múltiples aplicaciones en el mismo sistema. Tiene razón en que no se conectarán a otro iPhone, iPad, etc. Así que si tiene 2 aplicaciones que ven su periférico, ambos pueden conectarse. Tuvimos este problema hace un tiempo con 2 de nuestras aplicaciones controlando el periférico al mismo tiempo, mientras que ambas se estaban ejecutando al mismo tiempo. – WrightsCS