Estoy trabajando con Core Bluetooth en Swift y me pregunto qué sucede después de llamar a discoverServices([myServiceUUIDs]) en caso de que no se puedan encontrar servicios que coincidan. El connect(_ peripheral: CBPeripheral, options: [String: Any]? = nil) tiene didConnect y didFailToConnect . Así que tengo un caso que se llama si falla. Pero en discoverServices() la documentación dice solo
Cuando el periférico descubre uno o más servicios, llama al método periférico(_:didDiscoverServices:) de su objeto delegado.
Entonces, en el "caso feliz" de que encuentre los servicios, puedo continuar haciendo cosas. Pero, ¿cómo sé que no puede encontrar ningún servicio? ¿Hay también un método para o tengo que usar un temporizador y simplemente cancelar después de un tiempo definido y asumir que no existe el servicio que estaba buscando?
Sigue buscando hasta que lo apagas. Tienes que usar un temporizador o darle al usuario un botón para detener la búsqueda (o ambos).