Respostas:
O iPhone6 / 6s / 6 + NÃO foi projetado para ler tags NFC passivas (também conhecido como modo de descoberta). Há muita desinformação sobre esse tópico, então pensei em fornecer algumas informações tangíveis para os desenvolvedores considerarem. A falta de suporte para leitura de tag NFC não se deve ao software, mas ao hardware. Para entender por quê, você precisa entender como funciona o NFC. NFC funciona por meio de modulação de carga. Isso significa que o interrogador (PCD) emite um campo magnético portador que energiza o alvo passivo (PICC). Com o potencial gerado por este campo portador, o alvo então é capaz de demodular os dados vindos do interrogador e responder modulando os dados sobre este mesmo campo. A chave aqui é que o destino nunca cria um campo próprio.
Se você olhar a lista de peças e desmontagem do iPhone6, verá a presença de uma antena de quadro NFC muito pequena, bem como o uso do IC de reforço AS3923 . Este design foi projetado para cartões microSD ou SIM personalizadospara permitir que telefones celulares antigos façam pagamentos. Este é o tipo de aplicação em que o telefone móvel apresenta uma credencial de cartão emulado para um terminal POS sem contato de alta potência. O terminal POS atua como leitor, energizando o iPhone6 com a ajuda do chip AS3923. O diagrama de blocos AS3923 mostra claramente como a modulação RX e TX é aumentada a partir de um sinal apresentado por um dispositivo leitor. Em outras palavras, o iPhone6 não foi feito para fornecer um campo, apenas para reagir a um. É por isso que seu design é voltado apenas para emulação de placa NFC e talvez Peer-2-Peer, mas definitivamente não para tag Discovery.
Existem algumas alternativas para alcançar a descoberta de tag com um iPhone6 usando acessórios HW . Eu falo sobre essas integrações e como os desenvolvedores podem arquitetar soluções nesta postagem do blog . Nossos designs de leitor de baixo consumo de energia abrem oportunidades interessantes para engajamento móvel que poucos desenvolvedores estão pensando.
Divulgação: Sou o fundador da Flomio, Inc. , uma empresa TechStars que fornece hardware, software e serviços de identificação de proximidade para aplicativos que variam de controle de acesso a pagamentos.
Atualização: Este boato , se verdadeiro, abriria a possibilidade para o iPhone de praticamente suportar o modo de descoberta de tag NFC. Um design todo em vidro não interfere na antena NFC como faz a parte traseira de metal do iPhone atual. Tentamos essa abordagem de design - embora com materiais mais baratos - em alguns de nossos designs de leitores personalizados com sucesso, por isso estamos ansiosos por essa melhoria.
Atualização: iOS11 anunciou suporte para "modo de leitor NFC" para iPhone7 / 7 +. Detalhes aqui . A API só oferece suporte à leitura de mensagens NDEF (sem ISO7816 APDUs) enquanto um aplicativo está em primeiro plano (sem detecção de segundo plano). Previsto para o outono de 2017 ... verifique a captura de tela da palestra principal da WWDC:
Ao pesquisar os documentos do iOS 8 que estão disponíveis a partir de 9 de setembro, às 15h30, não há menção de acesso do desenvolvedor ao controlador NFC para realizar quaisquer operações NFC; isso inclui leitura de tags, escrita de tags, emparelhamento, pagamentos, emulação de tag ... Dado seu controlador NXP, o hardware tem a capacidade de realizar esses recursos. Eles mencionaram um aplicativo de terceiros para o relógio que permitia a um hóspede do hotel abrir a porta do quarto com NFC. Este é um caso de uso clássico para NFC e dá algumas indicações de que o controlador NFC será aberto aos desenvolvedores em algum momento. Lembre-se, o relógio não deve ser lançado até o primeiro trimestre de 2015. Por enquanto, eu diria que está fechado, mas será aberto em breve. Dada a 'novidade'
Divulgação: Sou o CEO da GoToTags , uma empresa NFC com óbvio interesse na abertura da NFC para desenvolvedores pela Apple.
--- Correção e atualização ---
Na verdade, o aplicativo do hotel usa Bluetooth, não NFC. O NFC ainda é frequentemente usado para destravar portas, mas não neste exemplo. O NFC pode ser usado se o relógio tiver um controlador NFC aberto.
Eu sei que a Apple está ciente de tudo isso e está discutindo isso com seus principais desenvolvedores e partes interessadas. Já houve um grande recuo negativo sobre a falta de suporte para leitura de tags. Como costumava acontecer no passado, espero que a Apple eventualmente abra isso para os desenvolvedores para funcionalidades não relacionadas a pagamento (leitura de tags, emparelhamento). Eu não acho que a Apple algum dia permitirá outras carteiras. O compartilhamento de arquivos provavelmente será deixado para o AirDrop também.
--- Atualização em 23 de março de 2016 ---
Eu sou continuamente solicitado a receber atualizações sobre este tópico, geralmente com pessoas que fazem referência a esta postagem. Com o lançamento do iPhone SE pela Apple, muitos estão perguntando novamente por que a Apple ainda não oferece suporte à leitura de tags. Em resumo, a Apple está mais focada no sucesso do Apple Pay do que em outros casos de uso de NFC por enquanto. A Apple poderia ganhar muito dinheiro com o Apple Pay e tem menos a ganhar com os outros usos do NFC. A Apple provavelmente abrirá a leitura de tag NFC quando sentir que a confiança e a segurança do consumidor com o NFC e o Apple Pay é tal que não colocará o Apple Pay em risco. Mais informações aqui .
--- Atualização em 24 de maio de 2017 ---
Um desenvolvedor na Grécia hackou o iPhone 6s para fazê-lo ler tags NFC por meio de estruturas privadas NFC; mais informações e vídeo . Embora essa não seja uma solução de longo prazo, ela fornece algumas orientações sobre algumas questões pendentes: Há energia suficiente no controlador NFC do iPhone para alimentar uma etiqueta NFC? Parece que a resposta é sim . No teste inicial, o alcance é de alguns centímetros, o que não é tão ruim. Também pode ser que a energia seja ajustável; isso está sendo investigado no momento. As implicações disso são significativas. Se os modelos mais antigos de telefones tiverem potência de RF suficiente para leitura / gravação de tags, quando a Apple abrir o SDK, isso significa que haverá 100 milhões de iPhones que podem ler tags NFC, contra o caso em que apenas os novos iPhones podem.
No momento, não há nenhum acesso aberto ao controlador NFC. No momento, não há APIs NFC no iOS 8 GM SDK - o que indicaria que a capacidade NFC será restrita ao Apple Pay no lançamento. Este é o nosso entendimento.
Claramente, o chip NXP dentro do iPhone 6 provavelmente será capaz de fazer mais, então isso não significa que recursos adicionais (emparelhamento, digitalização / codificação de tag) não serão adicionados para lançamento ou em um futuro próximo.
No momento, a Apple não abriu nenhum acesso ao chip NFC incorporado para desenvolvedores, conforme sugerido por muitos artigos como estes:
A lista continua. O principal motivo parece (como muitos outros recursos de hardware adicionados ao iPhone no passado) que a Apple quer garantir a segurança dessa tecnologia antes de lançar qualquer API para os desenvolvedores permitirem que façam o que quiserem. Portanto, a princípio, eles o usarão internamente apenas para suas necessidades (como o Apple Pay no momento do lançamento).
“No momento, não há nenhum acesso aberto ao controlador NFC”, disse RapidNFC, um provedor de tags NFC. "Atualmente não há APIs NFC no iOS 8 GM SDK".
Mas, eventualmente, acho que todos podemos concordar que eles irão desenvolver essa API, é apenas uma questão de tempo.
A capacidade de ler uma etiqueta NFC foi adicionada ao iOS 11, que suporta apenas iPhone 7 e 7 plus
Como um test drive, fiz este repo
Primeiro: precisamos iniciar a classe NFCNDEFReaderSession
var session: NFCNDEFReaderSession?
session = NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)
Então, precisamos iniciar a sessão:
session?.begin()
e quando terminar:
session?.invalidate()
O delegado (que deve ser implementado por si mesmo) tem basicamente duas funções:
func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage])
func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error)
aqui está minha referência documentos da Apple
A única informação disponível atualmente é que o Apple Pay estará disponível em ios8, mas isso não esclarece se as tags RFID ou, melhor, as tags NFC especificamente serão capazes de ser detectadas / lidas.
IMO, seria uma atitude míope não permitir essa possibilidade, mas realmente o dinheiro está no Apple Pay, não necessariamente em permitir que os desenvolvedores acessem esses recursos - já vimos isso antes com tethering, Bluetooth SPP e acesso reduzido a certas funções .
... mas, novamente, já se passaram cerca de 5 horas desde o primeiro anúncio.
Acho que vai demorar algum tempo até que consigamos ver o acesso ao NFC como o lado de pura segurança, como, por exemplo, ser capaz de passar por alguém e passar por eles e levar seu telefone aos detalhes do cartão ou simplesmente agitar seu telefone sobre a carteira de alguém que eles deixaram na mesa.
Acho que o primeiro passo é a Apple falar com os bancos e encontrar mais maneiras de proteger os cartões e NFC antes que isso seja permitido