¿Por qué hay que abrir manualmente una app NFC en el iPhone?
Porque una aplicación no puede arrancarse a sí misma desde una etiqueta. En iOS, la lectura la inicia la aplicación pidiendo al sistema una sesión, y una aplicación que no está en marcha no puede pedirla. La lectura en segundo plano es una capacidad del sistema, no de la aplicación.
Pide la aplicación, no la etiqueta
En Android, la llegada de una etiqueta puede hacer que el sistema arranque una aplicación. La etiqueta es, en efecto, el disparador.
En iOS la dirección se invierte. La aplicación pide al sistema que busque una etiqueta, y el sistema lo hace mientras esa petición esté activa. Nada relativo a una etiqueta llega a una aplicación que no lo ha pedido.
Una aplicación que no está en marcha no ha hecho ninguna petición de ese tipo, así que una etiqueta presentada al teléfono no tiene adónde llegar.
Es el caso de NFC Tools. En iOS necesita un iPhone 7 o posterior con iOS 15.6 como mínimo, y la aplicación debe abrirse manualmente. La lectura en segundo plano está disponible a partir del iPhone XS y XR.
Qué es en realidad la lectura en segundo plano
La excepción es que el sistema lea una etiqueta por su cuenta, sin ninguna aplicación de por medio.
Incluso entonces es el sistema quien lee, y el resultado se te ofrece como una notificación en lugar de entregarse a una aplicación que estuviera esperando. La lectura en segundo plano está disponible a partir del iPhone XS y XR.
Así que hay dos caminos y ninguno de los dos es una aplicación que despierta por culpa de una etiqueta. Uno es una aplicación que pide, y otro es el sistema que repara en algo.
Por qué se malinterpreta constantemente
Porque el comportamiento de Android es el que casi todo el mundo ha visto descrito, y parece el caso general en lugar de la elección de una plataforma.
Porque la expresión lectura en segundo plano sugiere aplicaciones corriendo en segundo plano, que no es lo que significa.
Y porque un teléfono que no hace nada no da ninguna explicación. Un visitante con un iPhone compatible pero antiguo acerca el teléfono, recibe silencio, y concluye con razón que la etiqueta está rota.
Enunciar el requisito sin rodeos en la propia etiqueta vale más que cualquier cantidad de documentación que nadie va a leer.
Diseñar contando con ello
Da por hecho que el toque es deliberado y que el teléfono está despierto. Ese supuesto se cumple en ambas plataformas y elimina casi toda la divergencia.
Escribe una dirección web, que es lo que el sistema ofrece en una notificación y lo que no necesita ninguna aplicación.
Imprime una instrucción allí donde intervenga el público. Unas pocas palabras eliminan el silencio que la gente interpreta como una avería.
Y nunca construyas un recorrido que exija que una aplicación se abra sola en iOS. No es un hueco que rellene una versión futura, es cómo funciona la plataforma.
Preguntas frecuentes
¿Puede abrirse una app sola al acercar una etiqueta en el iPhone?
No. Una aplicación no puede arrancarse a sí misma desde una etiqueta, porque la lectura la inicia la aplicación y no la etiqueta.
Entonces, ¿qué es la lectura en segundo plano?
Que el sistema repare en una etiqueta por su cuenta y ofrezca el resultado como una notificación. Está disponible a partir del iPhone XS y XR.
¿Android funciona igual?
No. En Android una etiqueta puede hacer que el sistema arranque una aplicación, que es el comportamiento que la gente espera y que iOS no ofrece.
¿Una actualización cambiará esto?
Es un diseño y no un olvido, así que no es algo con lo que convenga contar al planificar.