Múltiples CBPeripheral para el mismo dispositivo

Cuando se utiliza el marco CoreBluetooth para acceder a los dispositivos Bluetooth Low Energy, el CBCentralManager devuelve un periférico CBPeripheral para el periférico.

Múltiples services están disponibles en el periférico y me gustaría dividir el código que maneja las actualizaciones de valores de característica para los diferentes services en múltiples classs. Por lo tanto, tendría que asociar múltiples id<CBPeripheralDelegate> delegates al periférico. Sin embargo, esto no es posible porque solo se admite un delegado.

  • ¿Hay alguna manera de get múltiples instancias CBPeripheral para el mismo periférico?

    Si es posible que varias aplicaciones accedan al mismo periférico, ¿reciben diferentes instancias CBPeripheral ? En caso afirmativo, ¿ven actualizaciones de la otra aplicación? (Diga, la aplicación A escribe un valor para una característica, ¿el delegado de la aplicación B también recibe el post [- periférico: didWriteValueForCharacteristic: error:]?)

  • ¿Existen enfoques elegantes para apoyar la split del código de event handling events en múltiples classs?

La respuesta para CoreBluetooth: ¿Cómo diseñar el código para muchas características (30 – 40)? Tiene algunos consejos de layout que pueden ser útiles aquí. En resumen, cree una class de mediación que pueda ser un CBPeripheralDelegate y admita múltiples classs de características que se registren para cualquier característica que deseen.