【轉】iOS NFC


原文網址:iOS NFC (juejin.cn)

概述

iOS 在 iOS11(iPhone7/iPhone7 Plus) 之后開放 NFC 主動掃描功能

並且在 iOS13(iPhoneXS/iPhoneXR) 后開放NFC 后台掃描功能

時間表對照

所以在 iOS 端通常有兩個業務場景:

主動掃描:用戶主動打開 App 並開啟 NFC 功能掃描

場景為 :設備中主動打開我們的 App 並開始 NFC 掃描進程,然后可以識別到靠近的 NFC 標簽中的數據。

最低硬件要求:
系統版本: iOS 11
硬件: iPhone 7 及以上

后台掃描:用戶不打開 App,通過手機掃描彈窗后,打開 App

場景為 :設備中不打開 App,靠近 NFC 標簽后,手機出現彈窗,然后提示打開相關的 App,並傳入數據。(類似使用手機刷卡地鐵進站時,會彈出北京通)

后台模式掃描要求:
硬件: iPhoneXS/iPhoneXR 及以上

NFC 芯片存儲容量

芯片中存儲內容的大小限制,主要由芯片類型確定,市場上主要有以下幾種主流的容量:

  1. 144 字節 --- 使用 NXP NTAG 203/213 芯片 主要用來網址標簽、藍牙配對標簽 如 門禁鑰匙扣、電梯卡
  2. 888 字節 --- 使用 NXP NTAG 216 芯片 主要用來 多任務標簽、NFC 電子名片(包含姓名、手機、郵箱等)、華為一碰傳貼紙(電腦手機傳輸文件)、小米碰碰貼(可以自定義動作標簽,如開關藍牙,打開 WiFi )等。
  3. 4000/8000 字節 --- 其他類芯片 可以用來存儲圖片等(暫時沒有找到商業應用場景)。

一個包含了姓名、電話、郵箱、公司名稱、郵箱、網址的NFC標簽會占有約 159 字節的容量。

數據格式要求: NDEF

iOS 目前只支持 NDEF 格式的內容

NDEF 格式

NDEF 格式是 NFC FROUM 發布的一個通用 NFC 數據傳輸格式,支持 UTF-8 編碼、Unicode 編碼,內容支持文本內容、URI 內容,甚至支持圖片內容。

更為詳細的,這篇文章里講解的更細致: www.pianshen.com/article/860…

NDEF 的文本格式

這是整體的文本數據格式,第一個字節用來描述數據的狀態;后面的 n-1 個字節用來描述語言的編碼,如英語、還是日語、漢字;最后面不固定長度,

上面的是文本格式下,狀態字節的具體編碼格式。

NDEF 的 URI 格式

限制

這些情況下無法使用后台 NFC 功能:

  1. 重啟手機后,沒有解鎖過
  2. 有一個 NFC 進程正在運行
  3. Apple 錢包正在使用
  4. 相機正在使用
  5. 飛行模式下

具體 iOS NFC 開發流程

  1. AppleID 開通 NFC Tag Reading 功能。
  2. 工程進行描述文案等配置。
  3. 代碼開發。
  4. 如果需要支持后台掃描,還需要支持 Universal Link 功能。

注意點

1.Apple NFC 不支持支付相關的業務場景,如掃描銀行卡進行 NFC 支付功能。 2.同時只能存在一個掃描進程 Session。
3.一個掃描進程 Session 只能存在 60s,超過后需要重新開啟一個。
4.可以配置同時掃描多個或者單個 tag,配置單個時,識別到一個 tag 后會停止。

參考文章

developer.apple.com/documentati…

www.jianshu.com/p/25b8ff698…

medium.com/cardsmobile…

www.raywenderlich.com/9582458-get…


作者:落寒
鏈接:https://juejin.cn/post/6914233111191584781
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM