Vai al contenuto
Lingua: IT

Perché l'iPhone mostra un foglio di lettura quando un'applicazione legge un tag?

Perché la lettura la conduce il sistema e non l'applicazione. Il foglio è il sistema che prende in carico l'interazione per una durata limitata, ed è quello che spiega la scadenza, il testo sempre uguale, e perché un'applicazione non può leggere in silenzio in background.

Chi conduce la lettura

L'applicazione chiede una sessione di lettura. Il sistema accetta, presenta la propria interfaccia, esegue l'interazione con il tag, e restituisce il risultato.

Apple documenta il framework dietro tutto questo come Core NFC.

La conseguenza è che il foglio non è una schermata dell'applicazione. Appartiene al sistema, ed è per questo che sembra uguale in applicazioni diverse e che il suo testo non è stato scelto da uno sviluppatore.

È limitato nel tempo

Una sessione è un periodo durante il quale il sistema cerca dei tag. Finisce quando l'applicazione la chiude, cosa che può fare già dopo il primo tag letto, quando l'utente la annulla, o dopo un certo tempo.

È per questo che un foglio di lettura lasciato aperto prima o poi rinuncia invece di aspettare all'infinito, cosa che sorprende chi si aspetta che resti pronto.

In quel periodo, una sola sessione può leggere un tag dopo l'altro se l'applicazione la tiene aperta. Quello che rallenta una serie è avviare sessioni: una per tag quando l'applicazione chiude la sessione dopo ogni lettura, e una nuova ogni volta che una sessione aperta scade. È per questo che le applicazioni che leggono molti tag danno una sensazione diversa su iOS rispetto ad Android.

Cosa spiega

Perché un'applicazione non può leggere un tag in silenzio. Non esiste una strada discreta, dato che il sistema si presenta sempre.

Perché un'applicazione non può leggere in background. Una sessione appartiene a un'applicazione in uso, e altrimenti non c'è nulla a cui presentare un foglio.

Perché scrivere richiede il telefono in mano. Vale lo stesso modello di sessione, con l'applicazione che fornisce il contenuto durante un'interazione gestita dal sistema.

E perché l'espressione avvio manuale continua a comparire: un'applicazione che non è aperta non ha chiesto una sessione, quindi niente cerca tag per suo conto.

Prendi NFC Tools. Su iOS richiede un iPhone 7 o un modello successivo con iOS 15.6 come minimo, e l'applicazione deve essere avviata manualmente. La lettura in background è disponibile a partire da iPhone XS e XR.

Usarlo bene

Aspettati il foglio e fallo aspettare anche agli altri. In un flusso di lavoro dove qualcuno legge molti tag, il ritmo dipende dall'applicazione: avvia una volta e avvicina un tag dopo l'altro se tiene aperta la sessione, avviando una nuova sessione quando la precedente scade, oppure avvia, avvicina, chiudi, ripeti se chiude la sessione dopo ogni tag.

Tieni fermo il telefono durante la sessione invece di avvicinarlo ripetutamente, dato che il sistema sta già cercando ed è il movimento a interromperlo.

Per le tirature di produzione è un motivo per preferire Android come apparecchio di codifica: l'interazione è più leggera per tag, e su centinaia si somma.

E per un'installazione destinata al pubblico niente di tutto questo si applica, perché i visitatori useranno la strada in background o nient'altro.

Domande frequenti

Un'applicazione può leggere senza mostrare il foglio?

No. Il sistema esegue l'interazione e presenta la propria interfaccia, quindi per un'applicazione non esiste una strada discreta.

Perché il foglio scade?

Una sessione è limitata, e finisce quando l'applicazione la chiude, quando l'utente la annulla o dopo un certo periodo. Non è pensata per aspettare all'infinito.

Perché leggere molti tag sembra lento su iPhone?

Perché ogni sessione va avviata dall'applicazione, e nessuna dura all'infinito. Una sola sessione può leggere più tag se l'applicazione la tiene aperta, ma scade comunque se la serie è lunga, e un'applicazione che la chiude dopo ogni tag ne avvia una nuova per ciascuno. Su una serie intera, questo si somma.

Vale lo stesso per la scrittura?

Sì. La scrittura usa lo stesso modello di sessione, ed è per questo che il telefono deve stare in mano con l'applicazione aperta.