SpringBoard <Advertencia>: Push de alta prioridad: – BAR Desactivado

Problema

El envío de notifications en silencio para la versión de la aplicación de lanzamiento muestra el siguiente logging: SpringBoard[48] <Warning>: High Priority Push: [Bundle ID] - BAR Disabled

¿Alguna idea? BAR Desactivado ?? Parece que cuando aparece el logging "BAR Disabled", el método (didReceiveRemoteNotification – fetchCompletionHandler) no se llama.

Más información

  • BAR Disabled Log aparece en la aplicación de producción en el iPhone 4 y iPhone6 ​​probado
  • BAR Disabled Log no aparece en el iPhone5 probado y se llama fetchCompletionHandler.
  • BAR Disabled Log no aparece cuando se depura.
  • BAR Disabled Log aparece con param "content-available": 1
  • Probado con rapidez y objective-c
  • Probado con el perfil de distribución (testflight) y el perfil adhoc (itunes)
  • iOS versión 9.3.1

Notificación

{"aps":{"alert":"Test","sound":"default","content-available":1}, "data" : 345}

Resultado

Muestra la notificación con el text "Prueba" y reproduce el sonido pnetworkingeterminado pero fetchCompletionHandler no se llama, solo un logging: SpringBoard[48] <Warning>: High Priority Push: [Bundle ID] - BAR Disabled

BAR Desactivado significa que la actualización de la aplicación en segundo plano no está habilitada, por lo que la aplicación no puede ejecutar fetchCompletionHandler.

Desde el dispositivo, ve a Configuración> General> Actualización de la aplicación en segundo plano y activa la Actualización de la aplicación en segundo plano. Si sale de una aplicación del conmutador de aplicaciones, es posible que no pueda ejecutar o search contenido nuevo antes de abrirlo nuevamente.

Más información sobre la actualización de la aplicación en segundo plano (BAR):

Esta es otra cosa que funciona fuera del período de gracia de 10 minutos. Se permite que una aplicación con BAR activado se despierte de vez en cuando hasta que se cierre desde el conmutador de aplicaciones o el teléfono resprings / reboots. Aquí no hay restricción de 10 minutos, y es importante comprender que BAR es diferente de los antecedentes. Por "se despierta" quiero decir "abre un ojo somnoliento y descarga algunas cosas, luego vuelve a dormir". Si mata la aplicación desde el conmutador de aplicaciones, su privilegio BAR también desaparecerá.

Las aplicaciones habilitadas para BAR suelen progtwigrse para despertarse en los momentos oportunos para actualizarse. Estos momentos incluyen:

  • cuando el dispositivo está activo en uso
  • cuando el dispositivo está conectado a wifi y / o una fuente de energía
  • cuando se recibe una notificación push para la aplicación
  • cuando la location cambia

Desde Apple mismos: iOS aprende patrones basados ​​en su uso del dispositivo e intenta pnetworkingecir cuándo una aplicación debería estar BAR-actualizada en segundo plano. También aprende cuándo el dispositivo normalmente está inactivo, como durante la noche, para networkingucir la frecuencia de actualización cuando el dispositivo no está en uso.

Gracias a la información compartida por / u / Niruga, también existe lo que se llama una notificación push "silenciosa" que las aplicaciones pueden utilizar para activar su aplicación para las actualizaciones de BAR. El usuario no ve las notifications push silentes.

Por ejemplo, Dropbox usa BAR y location para mantener su carga de fotos funcionando más allá de los 10 minutos durante el time que sea necesario para terminar la carga. No se cargará constantemente, ya que eso no es lo que hace BAR. Entonces, lo que está sucediendo en Dropbox es que usa cambios de location para hacer que la aplicación se despierte y se cargue durante 10 minutos antes de volver a dormir, luego espera el próximo cambio de location para que la aplicación se vuelva a despertar y continúe donde la dejó , y repite hasta que se complete toda la carga, todo sin que el usuario tenga que mantener abierta la aplicación en primer plano.

Para decidir si habilita o no la barra, piense si confía en que los desarrolladores de la aplicación no abusen de la function.

Espero eso ayude.

ref: https://www.networkingdit.com/r/jailbreak/comments/3eao32/discussion_write_up_ios_backgrounding_and/