tutorial corebluetooth ble app ios iphone objective-c core-bluetooth

ble - ios CoreBluetooth[ADVERTENCIA] Error desconocido: 1309



swift bluetooth tutorial (2)

Dado que el CoreBluetooth está emitiendo esta "advertencia", tiene que haber alguien en Apple o en la comunidad Bluetooth que escribió el código o al menos sabe qué situación está provocando el mensaje. ¿Alguien puede decirme qué está causando esto y qué debo hacer para evitarlo, o señalarme algún material que me ayude en este esfuerzo?

Si tuviera que aventurarme a adivinar, diría que la razón principal por la que no ha recibido mucha respuesta es porque no ha dado una descripción de su problema más allá de "a veces veo el error 1309 y las cosas dejan de funcionar".

Si aún no lo ha hecho, presente un error en bugreporter.apple.com e incluya tantos detalles como sea posible: una descripción de lo que está tratando de hacer, repita los pasos que conducen al problema, incluso una aplicación de prueba. Responda a mí directamente con el número de error, y haré un seguimiento

Esporádicamente recibo el mensaje "CoreBluetooth [ADVERTENCIA] Error desconocido: 1309" en la consola cuando ejecuto una aplicación BlueTooth que estoy desarrollando. Aunque el mensaje indica que es una advertencia, detiene la ejecución de la aplicación. He podido Para solucionar este problema, apague la configuración de Bluetooth y luego vuelva a encenderla. ¿Puede alguien decirme qué está causando esto y qué debo hacer para evitarlo?


Ese es un problema conocido. Se debe a un interbloqueo en CoreBluetooth (error de Apple). El error 1309 aparece principalmente cuando su aplicación funciona como Central y Periférico, y cuando las operaciones se superponen entre sí, en ese caso se producirá un interbloqueo (que puede ser resuelto reiniciando el dispositivo).

Parece que la pila BLE también se corrompe en otros casos (iOS 7 y versiones inferiores), en iOS 7.1 la pila es mucho más estable y no tiene problemas como este.
¿Cómo resolvemos problemas como este?
Mostrando la pantalla de resolución de problemas donde el usuario puede solucionar el problema por sí mismo.

Puede encontrar problemas conocidos de iOS aquí http://help.getpebble.com/customer/portal/articles/957568-troubleshooting#Pair

De todos modos, creo que puedes comenzar a usar https://github.com/l0gg3r/LGBluetooth lo que reducirá las posibilidades de tener errores de tu lado y hará que tu trabajo sea mucho más efectivo.
Aquí hay ejemplos de lectura / escritura.

Leer

[LGUtils readDataFromCharactUUID:@"f045" serviceUUID:@"5ec0" peripheral:peripheral completion:^(NSData *data, NSError *error) { NSLog(@"Data : %s Error : %@", (char *)[data bytes], error); }];

Escribir

int8_t dataToWrite = 0xFF; [LGUtils writeData:[NSData dataWithBytes:&dataToWrite length:sizeof(dataToWrite)] charactUUID:@"cef9" serviceUUID:@"5ec0" peripheral:peripheral completion:^(NSError *error) { NSLog(@"Error : %@", error); }];