Por que um aplicativo de NFC tem de ser aberto manualmente no iPhone?
Porque um aplicativo não consegue se abrir sozinho a partir de uma tag. No iOS, a leitura é iniciada pelo aplicativo pedindo uma sessão ao sistema, e um aplicativo que não está rodando não consegue pedir. A leitura em segundo plano é uma capacidade do sistema, não de um aplicativo.
O aplicativo pede, não a tag
No Android, uma tag que chega pode fazer o sistema abrir um aplicativo. A tag é, na prática, o gatilho.
No iOS a direção se inverte. O aplicativo pede ao sistema que procure uma tag, e o sistema procura enquanto esse pedido está ativo. Nada sobre uma tag chega a um aplicativo que não pediu.
Um aplicativo que não está rodando não fez pedido nenhum, então uma tag apresentada ao celular não tem onde chegar.
Pegue o NFC Tools. No iOS ele exige um iPhone 7 ou um modelo posterior com iOS 15.6 no mínimo, e o aplicativo tem de ser aberto manualmente. A leitura em segundo plano está disponível a partir do iPhone XS e XR.
O que a leitura em segundo plano é de fato
A exceção é o sistema ler uma tag por conta própria, sem aplicativo nenhum envolvido.
Mesmo então é o sistema que está lendo, e o resultado é oferecido a você como um aviso em vez de entregue a um aplicativo que estava esperando. A leitura em segundo plano está disponível a partir do iPhone XS e XR.
Então existem dois caminhos e nenhum dos dois é um aplicativo acordando por causa de uma tag. Um é um aplicativo pedindo, e o outro é o sistema notando.
Por que isso é lido errado sempre
Porque o comportamento do Android é o que a maioria das pessoas viu descrito, e ele parece o caso geral em vez da escolha de uma plataforma.
Porque a expressão leitura em segundo plano sugere aplicativos rodando em segundo plano, que não é o que ela quer dizer.
E porque um celular que não faz nada não dá explicação nenhuma. Um visitante com um iPhone suportado mais antigo toca, recebe silêncio, e razoavelmente conclui que a tag está quebrada.
Dizer a exigência com clareza na própria tag vale mais que qualquer quantidade de documentação que ninguém vai ler.
Projetar em volta disso
Presuma que o toque é deliberado e que o celular está acordado. Essa suposição vale nas duas plataformas e remove a maior parte da divergência.
Grave um endereço da web, que é o que o sistema oferece num aviso e o que não precisa de aplicativo nenhum.
Imprima uma instrução onde há público envolvido. Poucas palavras removem o silêncio que as pessoas interpretam como falha.
E nunca construa um fluxo que exija um aplicativo se abrir sozinho no iOS. Isso não é uma lacuna que uma versão futura preenche, é como a plataforma funciona.
Perguntas frequentes
Um aplicativo pode abrir sozinho quando eu toco numa tag no iPhone?
Não. Um aplicativo não consegue se abrir a partir de uma tag, porque a leitura é iniciada pelo aplicativo e não pela tag.
Então o que é a leitura em segundo plano?
O sistema notando uma tag por conta própria e oferecendo o resultado como um aviso. Ela está disponível a partir do iPhone XS e XR.
O Android funciona do mesmo jeito?
Não. No Android uma tag consegue fazer o sistema abrir um aplicativo, que é o comportamento que as pessoas esperam e que o iOS não oferece.
Uma atualização vai mudar isso?
É um projeto e não uma omissão, então não é algo com que você deva contar ao planejar.