iPhone 6 / iOS 8로 NFC 태그 읽기
Apple이 방금 iPhone 6에 NFC 칩이 탑재 될 것이라고 발표 했으므로 iOS 8이 iPhone 6 장치의 RFID 태그를 읽고 감지 할 수 있는지 아는 사람이 있습니까? 누구든지 이것에 대해 공유 할 세부 사항이 있습니까?
iPhone6 / 6s / 6 +는 수동 NFC 태그 (일명 Discovery Mode)를 읽도록 설계되지 않았습니다. 이 주제에 대한 잘못된 정보가 많기 때문에 개발자가 고려해야 할 실질적인 정보를 제공하려고했습니다. NFC 태그 읽기 지원이 부족한 것은 소프트웨어 때문이 아니라 하드웨어 때문입니다. 이유를 이해하려면 NFC 작동 방식을 이해해야합니다. NFC는 부하 변조를 통해 작동합니다. 즉, 인터로 게이터 (PCD)는 수동 타겟 (PICC)에 에너지를 공급하는 캐리어 자기장을 방출합니다. 이 반송파 필드에 의해 생성 된 잠재력으로 대상은 질문자에서 오는 데이터를 복조하고이 동일한 필드 위에 데이터를 변조하여 응답 할 수 있습니다. 여기서 핵심은 타겟이 자체 필드를 생성하지 않는다는 것입니다.
iPhone6 분해도 및 부품 목록을 보면 매우 작은 NFC 루프 안테나의 존재와 AS3923 부스터 IC 의 사용을 볼 수 있습니다. 이 디자인은 맞춤형 microSD 또는 SIM 카드를 위한 것입니다.오래된 휴대 전화로 결제 할 수 있습니다. 이것은 휴대폰이 고전력 비접촉 POS 단말기에 카드 에뮬레이트 자격 증명을 제공하는 애플리케이션 유형입니다. POS 터미널은 리더 역할을하여 AS3923 칩의 도움으로 iPhone6에 전원을 공급합니다. AS3923 블록 다이어그램은 리더 장치에서 제공하는 신호에서 RX 및 TX 변조가 어떻게 증폭되는지를 명확하게 보여줍니다. 즉, iPhone6은 필드를 제공하는 것이 아니라 하나에 반응하기위한 것입니다. 그렇기 때문에 디자인은 NFC 카드 에뮬레이션 및 아마도 Peer-2-Peer만을위한 것이지만 태그 발견은 아닙니다.
HW 액세서리를 사용하는 iPhone6에서 태그 검색을 달성하는 몇 가지 대안이 있습니다 . 이 블로그 게시물 에서 이러한 통합과 개발자가 솔루션을 설계 할 수있는 방법에 대해 설명합니다 . 저전력 리더 디자인은 소수의 개발자가 생각하는 모바일 참여를위한 흥미로운 기회를 열어줍니다.
공개 : 저는 접근 제어에서 결제에 이르기까지 다양한 애플리케이션에 근접 ID 하드웨어, 소프트웨어 및 서비스를 제공하는 TechStars 회사 인 Flomio, Inc. 의 설립자입니다 .
Update: This rumor, if true, would open up the possibility for the iPhone to practically support NFC tag Discovery mode. An all glass design would not interfere with the NFC antenna as does the metal back of the current iPhone. We've attempted this design approach --albeit with cheaper materials-- on some of our custom reader designs with success so looking forward to this improvement.
Update: iOS11 has announced support for "NFC reader mode" for iPhone7/7+. Details here. API only supports reading NDEF messages (no ISO7816 APDUs) while an app is in the foreground (no background detection). Due out in the Fall, 2017... check the screenshot from WWDC keynote:
From digging into the iOS 8 docs that are available as of Sept 9th 3:30pm there is no mention of developer access to the NFC controller to perform any NFC operations; that includes reading tags, writing tags, pairing, payments, tag emulation... Given its an NXP controller the hardware has the capability to perform these features. They did mention a 3rd party app for the watch that allowed a hotel guest to open their room door with NFC. This is a classic use case for NFC and gives some indication that the NFC controller will be open to developers at some point. Remember, the watch is not supposed to be released until Q1 2015. So for now I'd say it's closed but will be open soon. Given the 'newness' of contactless payments for the general US consumer and the recent security breaches its not surprising Apple wants to keep this closed for a while.
Disclosure: Im the CEO of GoToTags, an NFC company with obvious vested interest in Apple opening up NFC to developers.
--- Correction & Update ---
The hotel app actually uses Bluetooth, not NFC. NFC is still often used for door unlocking, just not in this one example. NFC could be used if the watch has an open NFC controller.
I do know that Apple is aware of all of this and is discussing this with their top developers and stakeholders. There has already been massive negative push back on the lack of support for reading tags. As often the case in the past, I expect Apple to eventually open this up to developers for non-payment related functionality (reading tags, pairing). I do not think Apple will ever allow other wallets though. File sharing will likely be left to AirDrop as well.
--- Update on March 23rd 2016 ---
I am continually asked for updates about this topic, often with people referencing this post. With Apple releasing the iPhone SE, many are again asking why Apple has not supported tag reading yet. In summary Apple is more focused on Apple Pay succeeding than the other use cases for NFC for now. Apple could make a lot of money from Apple Pay, and has less to make from the other uses for NFC. Apple will likely open up NFC tag reading when they feel that consumer trust and security with NFC and Apple Pay is such that it wont put Apple Pay at risk. Further information here.
--- Update on May 24th 2017 ---
A developer in Greece has hacked the iPhone 6s to get it to read NFC tags via the NFC private frameworks; more info & video. While this isn't a long term solution, it provides some guidance on some outstanding question: Is there enough power in the iPhone's NFC controller to power an NFC tag? Looks like the answer is yes. From initial testing the range is a few cm, which isn't too bad. It might also be the power is tunable; this is being investigated at this time. The implications of this are significant. If the older model phones do have enough RF power for tag reading/writing, then when Apple does open up the SDK it means there will be 100Ms of iPhones that can read NFC tags, vs the case where only the new iPhones could.
At the moment, there isn't any open access to the NFC controller. There are currently no NFC APIs in the iOS 8 GM SDK - which would indicate that the NFC capability will be restricted to Apple Pay at launch. This is our understanding.
Clearly, the NXP chip inside the iPhone 6 is likely to be able to do more so this doesn't mean that additional features (pairing, tag scanning/encoding) will not be added for release or in the near future.
At the moment, Apple has not opened any access to the embedded NFC chip to developers as suggested by many articles such as these ones :
- Apple Cripples NFC in iPhone 6, 6+ With Developer Ban from Daily Tech
- Apple Restricting Use of NFC Antenna in iPhone 6 and 6 Plus to Apple Pay from Mac Rumors
- Apple confirms iPhone 6 NFC chip is only for Apple Pay at launch from Cult of Mac
- Apple initially restricts iPhone 6, iPhone 6 Plus NFC chip to Apple Pay from Tech Times
The list goes on. The main reason seems (like lots the other hardware features added to the iPhone in the past) that Apple wants to ensure the security of such technology before releasing any API for developers to let them do whatever they want. So at first, they will use it internally for their needs only (such as Apple Pay at launch time).
"At the moment, there isn't any open access to the NFC controller," said RapidNFC, a provider of NFC tags. "There are currently no NFC APIs in the iOS 8 GM SDK".
But eventually, I think we can all agree that they will develop such API, it's only a matter of time.
The ability to read an NFC tag has been added to iOS 11 which only support iPhone 7 and 7 plus
As a test drive I made this repo
First: We need to initiate NFCNDEFReaderSession class
var session: NFCNDEFReaderSession?
session = NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)
Then we need to start the session by:
session?.begin()
and when done:
session?.invalidate()
The delegate (which self should implement) has basically two functions:
func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage])
func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error)
here is my reference Apple docs
The only information currently available is that Apple Pay will be available in ios8, but that doesn't shed any light on whether RFID tags or rather NFC tags specifically will be able to be detected/read.
IMO it would be a shortsighted move not to allow that possibility, but really the money is in Apple Pay, not necessarily in allowing developers access to those features - we've seen it before with tethering, Bluetooth SPP, and diminished access to certain functions.
...하지만 첫 번째 발표 이후 약 5 시간이 지났습니다.
예를 들어 누군가를 지나쳐 지나가고 카드 세부 정보를 훔치거나 단순히 휴대 전화를 흔들 수있는 것과 같이 NFC에 대한 액세스를 순수한 보안 측면으로 볼 수 있기 전에 언젠가가 될 것이라고 생각합니다. 책상 위에두고 온 누군가의 지갑 위에.
첫 번째 단계는 Apple이 은행과 대화하고 이것이 허용되기 전에 카드 및 NFC를 보호하는 더 많은 방법을 찾는 것입니다.
참고 URL : https://stackoverflow.com/questions/25753473/reading-nfc-tags-with-iphone-6-ios-8
'Programming' 카테고리의 다른 글
TextInputEditText에 초점을 맞출 때 Android 8.0 Oreo 충돌 (0) | 2020.08.24 |
---|---|
POST 요청 json 데이터 보내기 java HttpUrlConnection (0) | 2020.08.24 |
JavaScript for 루프로 json을 만드는 방법은 무엇입니까? (0) | 2020.08.24 |
키 누르기 이벤트 후 jquery .val ()을 어떻게 얻을 수 있습니까? (0) | 2020.08.24 |
디렉토리와 하위 디렉토리에서 가장 큰 파일을 찾는 방법은 무엇입니까? (0) | 2020.08.24 |