usos una tarjetas tarjeta sobreescribir que puede programar programador programación ntag215 inteligentes etiquetas escritor crear como ios objective-c bluetooth core-location ibeacon

ios - tarjetas - se puede sobreescribir una tarjeta nfc



didExitRegion no se activó cuando apaga el bluetooth (2)

Estoy construyendo una aplicación IOS simple con IBeacon , estoy monitoreando una región, pero tengo algunos problemas con los eventos de entrada y salida.

Si didEnterRegion en una región, se didEnterRegion la devolución de llamada didEnterRegion , pero al estar dentro de la región, desactivar bluetooth no didExitRegion devolución de llamada didExitRegion . ¿Es este el comportamiento esperado?

Este es un problema ya que tengo que ser capaz de detectar cuando el usuario sale de la región. ¿Alguna idea?

Gracias


A mí me parece un comportamiento razonable. El usuario no ha abandonado la región, por lo que enviar una notificación didExitRegion no es correcto.

Puede detectar si el bluetooth se ha desactivado , por lo que puede tomar las medidas adecuadas en función de eso.


Para fines de prueba, debe apagar sus balizas o moverse fuera del rango para obtener un evento didExitRegion .

Una vez que CoreLocation ha determinado que está dentro de una CLBeaconRegion , solo cambiará de estado a estar fuera de la región después de que tenga la posibilidad de realizar un escaneo de Bluetooth durante 3 segundos durante los cuales no se detectarán balizas que coincidan con CLBeaconRegion . Si Bluetooth no está encendido, no puede escanear para tomar esta determinación.

Si desea forzar una salida en su aplicación en este caso, considere escuchar los eventos del ciclo de vida de CoreBluetooth . Al apagar, puede CLBeaconRegion registro de cada CLBeaconRegion , didExitRegion su lógica didExitRegion manualmente y luego CoreLocation registro con CoreLocation .