web-dev-qa-db-fra.com

Lecture de NFC balises avec iPhone 6 / iOS 8

Maintenant que Apple vient d'annoncer que l'iPhone 6 disposera d'une puce NFC, est-ce que quelqu'un sait si iOS 8 autorisera la lecture/détection des étiquettes RFID pour le périphérique iPhone 6? Quelqu'un a des détails à partager à ce sujet?

96
Bryan C

Les iPhone6 ​​/ 6s/6 + NE SONT PAS conçus pour lire les tags NFC passifs (mode découverte). Il y a beaucoup de désinformation sur ce sujet, alors j'ai pensé fournir aux développeurs des informations concrètes à prendre en compte. L'absence de prise en charge de lecture de balises NFC n'est pas due au logiciel mais au matériel. Pour comprendre pourquoi, vous devez comprendre comment fonctionne NFC. NFC fonctionne avec Load Modulation. Cela signifie que l'interrogateur (PCD) émet un champ magnétique porteur qui excite la cible passive (PICC). Avec le potentiel généré par ce champ de porteuse, la cible est alors en mesure de démoduler les données provenant de l'interrogateur et de répondre en modulant les données au-dessus de ce même champ. La clé ici est que la cible ne crée jamais son propre champ.

Si vous consultez la liste des pièces et des pièces détachées de l'iPhone6, vous verrez la présence d'une très petite antenne-cadre NFC ainsi que l'utilisation du booster AS392 . Cette conception était destinée à cartes microSD ou SIM personnalisées pour permettre aux anciens téléphones mobiles d'effectuer des paiements. C'est le type d'application où le téléphone mobile présente un justificatif d'identité émulé par carte à un terminal de point de vente sans contact à forte puissance. Le terminal de point de vente joue le rôle de lecteur et alimente l’iPhone6 ​​avec l’aide de la puce AS3923. Le diagramme AS3923 montre clairement comment la modulation RX et TX est amplifiée à partir d'un signal présenté par un lecteur. En d'autres termes, l'iPhone6 ​​n'est pas conçu pour fournir un champ, mais pour réagir à un champ. C'est pourquoi son design est uniquement destiné à NFC Card Emulation et peut-être à Peer-2-Peer, mais certainement pas à la découverte de balises.

AS3923 booster IC

Il existe des alternatives à la découverte de balises avec un iPhone6 ​​utilisant accessoires HW . Je parle de ces intégrations et de la façon dont les développeurs peuvent créer des solutions d’architecture dans cet article de blog . Nos conceptions de lecteurs à faible puissance ouvrent des opportunités intéressantes pour l'engagement mobile que peu de développeurs envisagent.

Divulgation: Je suis le fondateur de Flomio, Inc. , une société TechStars qui fournit du matériel, des logiciels et des services d'identification de proximité pour des applications allant du contrôle d'accès aux paiements.

Mise à jour: Cette rumeur , si vrai, ouvrirait la possibilité à l'iPhone de prendre en charge pratiquement le mode Découverte de la balise NFC. Une conception entièrement en verre n'interférerait pas avec l'antenne NFC, contrairement à l'arrière en métal de l'iPhone actuel. Nous avons essayé cette approche de conception - avec des matériaux moins chers - sur certains de nos modèles de lecteurs personnalisés avec succès, nous nous réjouissons donc de cette amélioration.

Mise à jour: iOS11 a annoncé la prise en charge du "mode lecteur NFC" pour iPhone7/7 +. Détails ici . L'API prend uniquement en charge la lecture des messages NDEF (pas d'APDU ISO7816) lorsqu'une application est au premier plan (aucune détection d'arrière-plan). À paraître à l'automne 2017 ... regardez la capture d'écran du discours de la WWDC:

enter image description here

167
grundyoso

En fouillant dans la documentation iOS 8 disponible à partir du 9 septembre à 15h30, il n’est fait aucune mention de l’accès des développeurs au contrôleur NFC pour effectuer les opérations NFC; qui inclut la lecture des étiquettes, l’écriture des étiquettes, le jumelage, les paiements, l’émulation des étiquettes… Étant donné qu’il s’agit d’un contrôleur NXP, le matériel est en mesure d’exécuter ces fonctions. Ils ont mentionné une application tierce pour la montre qui permettait à un client de l'hôtel d'ouvrir la porte de leur chambre avec NFC. Ceci est un cas d'utilisation classique pour NFC et donne une indication du fait que le contrôleur NFC sera ouvert aux développeurs à un moment donné. N'oubliez pas que la montre n'est pas censée sortir avant le premier trimestre 2015. Donc, pour l'instant, je dirais que la montre est fermée mais qu'elle sera ouverte bientôt. Compte tenu de la "nouveauté" des paiements sans contact pour le consommateur américain général et des récentes violations de la sécurité, il n'est pas étonnant que Apple souhaite maintenir cette fermeture pendant un moment.

Divulgation: Je suis le PDG de GoToTags , une NFC entreprise manifestement intéressée par Apple ouvrant NFC aux développeurs.

--- Correction et mise à jour ---

L'application de l'hôtel utilise en fait Bluetooth, pas NFC. NFC est encore souvent utilisé pour le déverrouillage des portes, mais pas dans cet exemple. NFC peut être utilisé si la montre a un contrôleur NFC ouvert.

Je sais que Apple est au courant de tout cela et en discute avec ses principaux développeurs et intervenants. Il y a déjà eu un impact négatif massif sur le manque de support pour la lecture des tags. Comme souvent dans le passé, j’attends que Apple ouvre éventuellement cette possibilité aux développeurs pour des fonctionnalités non liées au paiement (balises de lecture, couplage). Je ne pense pas que Apple autorisera un jour d'autres portefeuilles. Le partage de fichiers sera probablement laissé à AirDrop également.

--- Mise à jour le 23 mars 2016 ---

On me demande continuellement des mises à jour sur ce sujet, souvent avec des personnes référençant ce post. Avec la sortie de l'iPhone SE par Apple, beaucoup se demandent à nouveau pourquoi Apple n'a pas encore pris en charge la lecture de balises. En résumé, Apple se concentre davantage sur Apple Payez avec succès que les autres cas d'utilisation de NFC pour le moment. Apple pourrait gagner beaucoup d'argent grâce à Apple Pay, et aurait moins à tirer des autres utilisations de la technologie NFC. Apple ouvrira probablement la lecture de la balise NFC quand ils sentiront que la confiance et la sécurité des consommateurs avec NFC et Apple sont payantes de telle sorte mettre Apple Payez à risque. Informations complémentaires ici .

--- Mise à jour le 24 mai 2017 ---

Un développeur en Grèce a piraté l'iPhone 6s pour qu'il puisse lire les balises NFC via les NFC cadres privés; plus d'infos & vidéo . Bien qu'il ne s'agisse pas d'une solution à long terme, elle fournit des indications sur une question en suspens: le contrôleur NFC de l'iPhone est-il suffisamment alimenté pour alimenter une balise NFC? On dirait que la réponse est oui . D'après les tests initiaux, la plage est de quelques cm, ce qui n'est pas si mal. Il se pourrait aussi que le pouvoir soit ajustable; ceci est en cours d'investigation. Les implications sont importantes. Si les anciens modèles de téléphone disposent de suffisamment de RF pour la lecture/l'écriture de balises, lorsque Apple ouvre le SDK, cela signifie qu'il y aura 100 M de iPhones capables de lire NFC tags, par rapport au cas où seuls les nouveaux iPhones le pourraient.

43
craigtadlock

À l'heure actuelle, il n'y a pas d'accès libre au contrôleur NFC. Il n'y a actuellement aucune API NFC dans le SDK iOS 8 GM, ce qui indiquerait que la fonctionnalité NFC sera limitée à Apple Paye. lors du lancement. Ceci est notre compréhension.

Il est clair que la puce NXP à l'intérieur de l'iPhone 6 est susceptible de faire plus, cela ne signifie donc pas que des fonctionnalités supplémentaires (couplage, numérisation/encodage de balises) ne seront pas ajoutées pour la sortie ou dans un proche avenir.

5
Harry

La possibilité de lire une balise NFC a été ajoutée à iOS 11, qui ne prend en charge que les iPhone 7 et 7, ainsi que

Comme essai routier, j'ai fait ceci repo

Premièrement: nous devons lancer la classe NFCNDEFReaderSession

var session: NFCNDEFReaderSession? 
session = NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)

Ensuite, nous devons commencer la session en:

session?.begin()

et une fois terminé:

session?.invalidate()

Le délégué (que self doit mettre en œuvre) a essentiellement deux fonctions:

func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage])
func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error)

voici ma référence documentation Apple

2
zombie

Pour le moment, Apple n'a pas ouvert aucun accès à la puce intégrée NFC aux développeurs, comme suggéré par de nombreux articles tels que ceux-ci:

La liste continue. La principale raison semble (comme beaucoup d'autres fonctionnalités matérielles ajoutées à l'iPhone par le passé) que Apple veuille assurer la sécurité de cette technologie avant de publier toute API permettant aux développeurs de faire ce qu'ils veulent. Ainsi, au début, ils l'utiliseront en interne uniquement pour leurs besoins (tels que Apple Pay au moment du lancement).

"Pour le moment, il n’ya aucun accès libre au contrôleur NFC", a déclaré RapidNFC, fournisseur de balises NFC. "Il n'y a actuellement aucune API NFC dans iOS 8 GM SDK".

Mais finalement, je pense que nous pouvons tous convenir qu'ils vont développer une telle API, ce n'est qu'une question de temps.

2
m4rtin

La seule information actuellement disponible est que Apple Pay sera disponible dans ios8, mais cela n’indique pas si les tags RFID ou plutôt les balises NFC pourront être détectés/lus.

OMI, ce serait une décision à court terme de ne pas autoriser cette possibilité, mais l'argent est réellement dans Apple Pay, pas nécessairement pour permettre aux développeurs d'accéder à ces fonctionnalités - nous l'avons déjà vu avec modem, Bluetooth SPP, et diminué. accès à certaines fonctions.

... mais là encore, cela fait environ 5 heures depuis la première annonce.

1
DonJohnII