Lesen von NFC-Tags mit iPhone 6 / iOS 8


96

Weiß jemand, ob Apple 8 das Lesen / Erkennen von RFID-Tags für das iPhone 6 ermöglicht, nachdem Apple gerade angekündigt hat, dass das iPhone 6 über einen NFC-Chip verfügt? Hat jemand Details dazu?

Antworten:


169

Das iPhone6 ​​/ 6s / 6 + ist NICHT zum Lesen passiver NFC-Tags (auch bekannt als Discovery-Modus) vorgesehen. Es gibt viele Fehlinformationen zu diesem Thema, daher habe ich mir überlegt, einige konkrete Informationen bereitzustellen, die Entwickler berücksichtigen sollten. Der Mangel an Unterstützung für das Lesen von NFC-Tags liegt nicht an der Software, sondern an der Hardware. Um zu verstehen, warum, müssen Sie verstehen, wie NFC funktioniert. NFC arbeitet mit Lademodulation. Das bedeutet, dass der Interrogator (PCD) ein Trägermagnetfeld aussendet, das das passive Ziel (PICC) erregt. Mit dem von diesem Trägerfeld erzeugten Potential ist das Ziel dann in der Lage, vom Abfrager kommende Daten zu demodulieren und zu antworten, indem Daten über genau dieses Feld moduliert werden. Der Schlüssel hier ist, dass das Ziel niemals ein eigenes Feld erstellt.

Wenn Sie sich die iPhone6-Abriss- und Teileliste ansehen, werden Sie das Vorhandensein einer sehr kleinen NFC- Rahmenantenne sowie die Verwendung des AS3923-Booster-IC sehen . Dieses Design war für benutzerdefinierte microSD- oder SIM-Karten gedachtum alten Mobiltelefonen das Bezahlen zu ermöglichen. Dies ist die Art von Anwendung, bei der das Mobiltelefon einem kontaktlosen POS-Terminal mit hoher Leistung einen kartenemulierten Berechtigungsnachweis vorlegt. Das POS-Terminal fungiert als Lesegerät und versorgt das iPhone6 ​​mithilfe des AS3923-Chips mit Strom. Das AS3923-Blockdiagramm zeigt deutlich, wie die RX- und TX-Modulation durch ein von einem Lesegerät ausgegebenes Signal verstärkt wird. Mit anderen Worten, das iPhone6 ​​soll kein Feld bereitstellen, sondern nur auf eines reagieren. Aus diesem Grund ist das Design nur für die NFC-Kartenemulation und möglicherweise für Peer-2-Peer gedacht, aber definitiv nicht für die Tag-Erkennung.

AS3923 Booster IC

Es gibt einige Alternativen zum Erreichen der Tag-Erkennung mit einem iPhone6 ​​mithilfe von HW-Zubehör . Ich spreche in diesem Blogbeitrag über diese Integrationen und wie Entwickler Lösungen entwickeln können . Unsere Low-Power-Reader-Designs eröffnen interessante Möglichkeiten für mobiles Engagement, über die nur wenige Entwickler nachdenken.

Offenlegung: Ich bin der Gründer von Flomio, Inc. , einem TechStars-Unternehmen, das Hardware, Software und Services für Proximity-IDs für Anwendungen bereitstellt, die von der Zugriffskontrolle bis hin zu Zahlungen reichen.

Update: Wenn dieses Gerücht wahr ist, würde es dem iPhone die Möglichkeit eröffnen, den NFC-Tag-Erkennungsmodus praktisch zu unterstützen. Ein Ganzglas-Design würde die NFC-Antenne nicht beeinträchtigen, ebenso wie die Metallrückseite des aktuellen iPhone. Wir haben diesen Designansatz - wenn auch mit billigeren Materialien - bei einigen unserer kundenspezifischen Leserkonstruktionen mit Erfolg versucht und freuen uns auf diese Verbesserung.

Update: iOS11 hat die Unterstützung des "NFC-Lesemodus" für iPhone 7/7 + angekündigt. Details hier . Die API unterstützt nur das Lesen von NDEF-Nachrichten (keine ISO7816-APDUs), während sich eine App im Vordergrund befindet (keine Hintergrunderkennung). Fällig im Herbst 2017 ... siehe Screenshot der WWDC-Keynote:

Geben Sie hier die Bildbeschreibung ein


2
Ich bin kein Hardware-Typ, aber gibt es eine Chance, dass der iPhone-Abriss nicht alles zeigte? Ist das die endgültige Analyse? Passive NFC-Tags können nicht gelesen werden?
Salaryman

3
Ich habe mehrere NFC-Lesegeräte entworfen und basierend auf dem, was ich aus dem Abriss gesehen habe, das Layout studiert und beobachtet, wie sich das iPhone6 ​​gegenüber NFC verhält, das ist meine Meinung. Ich habe ein iPhone6 ​​selbst nicht physisch zerlegt, daher ist es nicht ausgeschlossen, dass sich irgendwo ein luftgewickelter Induktor versteckt, dessen Spuren den AS3923 umgehen. Mein Hauptpunkt ist, dass dies unkonventionell wäre und bestenfalls beim Lesen von Tags schlecht abschneidet.
Grundyoso

@grundyoso Wenn nur Ihr Unternehmen ein anständiges SDK zusammenstellen könnte, wäre es fantastisch. Gibt es Updates zum Flomio SDK? Immer noch auf den Club mit über 1200 US-Dollar beschränkt?
Dan1one

@ Dan1one, wir arbeiten noch daran. Unsere Beta-Benutzer haben Fehler gefunden, die wir noch beheben. Die Beschränkung auf über 1200 US-Dollar dient also nur dazu, unsere Bemühungen konzentriert zu halten. Sobald wir mit der Qualität zufrieden sind, senden wir das Flomio SDK an alle unsere Kunden. Enthalten ist ein Cordova-Plugin, mit dem sich Weblösungen viel einfacher erstellen lassen.
Grundyoso

1
@Randomblue Ich habe den Abbau von iFixIt überprüft, als der 6S herauskam und der Booster-Chip und das kleine Antennendesign erhalten blieben. Unser HW-Zubehör ist ausgereift, um diesem Bedarf gerecht zu werden. Das Flomio SDK wird regelmäßig aktualisiert, um eine einfache Integration zu ermöglichen. Besuchen Sie uns auf der TrackHack , um mit ihnen zusammen mit der großartigen Hardware anderer RFID-Anbieter herumzuspielen .
Grundyoso

43

Beim Durchsuchen der iOS 8-Dokumente, die ab dem 9. September um 15.30 Uhr verfügbar sind, wird der Entwicklerzugriff auf den NFC-Controller zur Ausführung von NFC-Vorgängen nicht erwähnt. Dazu gehören das Lesen von Tags, das Schreiben von Tags, das Pairing, Zahlungen, die Tag-Emulation ... Da es sich um einen NXP-Controller handelt, kann die Hardware diese Funktionen ausführen. Sie erwähnten eine Drittanbieter-App für die Uhr, mit der ein Hotelgast seine Zimmertür mit NFC öffnen konnte. Dies ist ein klassischer Anwendungsfall für NFC und gibt einen Hinweis darauf, dass der NFC-Controller irgendwann für Entwickler offen sein wird. Denken Sie daran, dass die Uhr erst im ersten Quartal 2015 veröffentlicht werden soll. Daher würde ich sagen, dass sie geschlossen ist, aber bald geöffnet sein wird. Angesichts der "Neuheit"

Offenlegung: Ich bin der CEO von GoToTags , einem NFC-Unternehmen mit offensichtlichem Interesse daran, dass Apple NFC für Entwickler öffnet.

--- Korrektur & Update ---

Die Hotel-App verwendet tatsächlich Bluetooth, nicht NFC. NFC wird immer noch häufig zum Entriegeln von Türen verwendet, nur nicht in diesem einen Beispiel. NFC kann verwendet werden, wenn die Uhr einen offenen NFC-Controller hat.

Ich weiß, dass Apple sich all dessen bewusst ist und dies mit seinen Top-Entwicklern und Stakeholdern diskutiert. Der Mangel an Unterstützung für das Lesen von Tags wurde bereits massiv negativ zurückgedrängt. Wie so oft in der Vergangenheit erwarte ich, dass Apple dies Entwicklern irgendwann für nicht zahlungsbezogene Funktionen (Lesen von Tags, Pairing) öffnet. Ich glaube nicht, dass Apple jemals andere Geldbörsen zulassen wird. Die Dateifreigabe wird wahrscheinlich auch AirDrop überlassen.

--- Update am 23. März 2016 ---

Ich werde ständig nach Updates zu diesem Thema gefragt, oft mit Leuten, die auf diesen Beitrag verweisen. Mit der Veröffentlichung des iPhone SE durch Apple fragen sich viele erneut, warum Apple das Lesen von Tags noch nicht unterstützt hat. Zusammenfassend lässt sich sagen, dass Apple sich mehr auf den Erfolg von Apple Pay konzentriert als auf die anderen Anwendungsfälle für NFC. Apple könnte mit Apple Pay viel Geld verdienen und hat mit den anderen Anwendungen für NFC weniger zu verdienen. Apple wird wahrscheinlich das Lesen von NFC-Tags eröffnen, wenn das Vertrauen und die Sicherheit der Verbraucher in NFC und Apple Pay so groß sind, dass Apple Pay dadurch nicht gefährdet wird. Weitere Informationen hier .

--- Update am 24. Mai 2017 ---

Ein Entwickler in Griechenland hat das iPhone 6s gehackt, damit es NFC-Tags über die privaten NFC-Frameworks lesen kann. Weitere Infos & Video . Dies ist zwar keine langfristige Lösung, bietet jedoch einige Hinweise zu einer noch offenen Frage: Ist im NFC-Controller des iPhones genügend Strom vorhanden, um ein NFC-Tag mit Strom zu versorgen? Sieht aus wie die Antwort ist ja . Nach dem ersten Test beträgt die Reichweite einige cm, was nicht schlecht ist. Es könnte auch sein, dass die Leistung abstimmbar ist; Dies wird derzeit untersucht. Die Auswirkungen sind erheblich. Wenn die älteren Telefonmodelle über genügend HF-Leistung zum Lesen / Schreiben von Tags verfügen, bedeutet dies, dass beim Öffnen des SDK durch Apple 100 Millionen iPhones vorhanden sind, die NFC-Tags lesen können, im Gegensatz zu den Fällen, in denen nur die neuen iPhones dies können.


Hier ist der Link zu PassKit, dem Zahlungsteil des iOS SDK. developer.apple.com/library/prerelease/ios/documentation/…
craig.tadlock

Beim Lesen der Dokumentation zu Apple Pay , die ich finden konnte, wird NFC nicht erwähnt. Das ist alles, was ich jetzt finden konnte. Ich bin noch nicht davon überzeugt, dass das iPhone 6 sogar NFC haben wird. Ich habe es in einem Nachrichtenartikel gesehen, aber die Reporter verwirren möglicherweise eine Zahlungssystem-API für NFC-Zahlungen. Können Sie einen Link zu einer Dokumentation von Apple freigeben, die besagt, dass das iPhone 6 über NFC-Hardware verfügt?
strwils

7
Hast du den Feed gesehen? Es gab einen riesigen "NFC" -Text, als sie über Apple Pay sprachen. Schauen Sie sich die TechCrunch-Aufzeichnung an.
craig.tadlock

Nein, habe ich nicht. Danke, ich werde es überprüfen.
strwils

2
@tricknology TouchID gibt es erst seit dem iPhone 5S, das vor fast genau einem Jahr erschien. Die API wurde vor 3 Monaten für Entwickler freigegeben.
Tim Bodeit

5

Derzeit gibt es keinen offenen Zugang zum NFC-Controller. Das iOS 8 GM SDK enthält derzeit keine NFC-APIs. Dies weist darauf hin, dass die NFC-Funktion beim Start auf Apple Pay beschränkt ist. Das ist unser Verständnis.

Es ist klar, dass der NXP-Chip im iPhone 6 wahrscheinlich mehr kann, was nicht bedeutet, dass zusätzliche Funktionen (Pairing, Tag-Scannen / Codierung) nicht zur Veröffentlichung oder in naher Zukunft hinzugefügt werden.


2

Im Moment hat Apple nicht jeden Zugriff auf den integrierten NFC - Chip für Entwickler geöffnet , wie viele Artikel wie dies hier vorgeschlagen:

Die Liste geht weiter. Der Hauptgrund scheint (wie viele andere Hardwarefunktionen, die dem iPhone in der Vergangenheit hinzugefügt wurden) zu sein, dass Apple die Sicherheit dieser Technologie gewährleisten möchte, bevor Entwickler eine API veröffentlichen, mit der sie tun können, was sie wollen. Daher werden sie es zunächst nur für ihre Bedürfnisse intern verwenden (z. B. Apple Pay zum Startzeitpunkt).

"Im Moment gibt es keinen offenen Zugang zum NFC-Controller", sagte RapidNFC, ein Anbieter von NFC-Tags. "Das iOS 8 GM SDK enthält derzeit keine NFC-APIs."

Aber irgendwann können wir uns alle darauf einigen, dass sie eine solche API entwickeln werden. Es ist nur eine Frage der Zeit.


7
Ist Ihnen klar, dass Sie auf Artikel verwiesen haben, die diese Frage als Quelle verwenden? Der Kreis
schließt sich

Wusste nicht, dass Tech-Reporter SO als Quelle verwendeten, aber ich denke, es macht Sinn. Mein Punkt war jedenfalls, nur Quellen zu zitieren, da die ursprüngliche Frage die Fähigkeit für uns Entwickler betraf, Code mithilfe des im letzten iPhone eingebetteten NFC-Chips auszugeben.
m4rtin

@ m4rtin, "Aber irgendwann können wir uns alle darauf einigen, dass sie eine solche API entwickeln werden. Es ist nur eine Frage der Zeit." Nein, es geht um Geld! Es hat Jahre gedauert, bis eine vollständige Bluetooth-Unterstützung verfügbar war. Sie möchten nicht, dass von Flash die Rede ist, und in NFC haben sie nur den Teil des Paiments übernommen. Apple integriert eine Technologie nur, wenn sie damit Geld gewinnen kann. Sie kümmern sich absolut nicht um Dienste, die der Techno ihren Benutzern bieten kann!
Fralbo

2

Die Möglichkeit, ein NFC-Tag zu lesen, wurde iOS 11 hinzugefügt, das nur iPhone 7 und 7 plus unterstützt

Als Probefahrt habe ich dieses Repo gemacht

Erstens: Wir müssen die NFCNDEFReaderSession-Klasse initiieren

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

Dann müssen wir die Sitzung beginnen mit:

session?.begin()

und wenn fertig:

session?.invalidate()

Der Delegat (den er selbst implementieren sollte) hat grundsätzlich zwei Funktionen:

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

Hier ist meine Referenz Apple-Dokumente


Ich versuche auch, Core NFC zu testen. Hast du schon etwas zum Laufen gebracht? Mir ist klar, dass es nur der erste Tag ist :)
Blisterpeanuts

@ Blisterpeanuts Ich habe meine Antwort aktualisiert, aber es funktioniert nicht vollständig wegen fehlender Architektur x86_64 in CoreNFC, aber ich werde es bald beheben
Zombie


1

Die einzige derzeit verfügbare Information ist, dass Apple Pay in ios8 verfügbar sein wird, aber dies gibt keinen Aufschluss darüber, ob RFID-Tags oder vielmehr NFC-Tags speziell erkannt / gelesen werden können.

IMO wäre es ein kurzsichtiger Schritt, diese Möglichkeit nicht zuzulassen, aber das Geld liegt in Apple Pay, nicht unbedingt darin, Entwicklern den Zugriff auf diese Funktionen zu ermöglichen - wir haben es bereits mit Tethering, Bluetooth SPP und eingeschränktem Zugriff auf bestimmte Funktionen gesehen .

... aber andererseits sind seit der ersten Ankündigung ungefähr 5 Stunden vergangen.


2
Können die NFC-Daten eines iPhone 6 von vorhandenen NFC-Lesegeräten gelesen werden?
Tricknologie

-2

Ich denke, es wird einige Zeit dauern, bis wir den Zugang zum NFC als die reine Sicherheitsseite davon sehen, wie zum Beispiel in der Lage zu sein, an jemandem vorbei zu gehen, der an ihnen vorbeigeht, und Ihr Telefon dazu zu bringen, die Kartendetails zu zappen oder einfach Ihr Telefon zu winken über jemandes Brieftasche, die sie auf dem Schreibtisch liegen ließen.

Ich denke, der erste Schritt besteht darin, dass Apple mit Banken spricht und mehr Möglichkeiten zur Sicherung von Karten und NFC findet, bevor dies zulässig ist

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.