NFCDecoder
Apple 在 iOS 11 中介绍了 CoreNFC
,NFCDecoder 添加了最终一块拼图——它从 `NFCNDEFPayload
` 或 `NFCNDEFMessage
` 中获取实际的字符串和 URL。所有广泛使用的有效载荷类型都受支持(文本、URI 和智能海报)。NFCDecoder 是免费的,轻量级的,并用 Swift 编写。试一试示例!
安装
CocoaPods
NFCDecoder 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:
pod 'NFCDecoder'
Carthage
NFCDecoder 与 Carthage 兼容。请将其添加到您的 Cartfile
中。
github "impekable/NFCDecoder"
使用说明
将其添加到你的NFCReaderSessionDelegate
import NFCDecoder
func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) {
let payloads = NFCDecoder().decode(messages)
payloads.forEach { logToConsole(payload: $0) }
stopNfcSession()
}
func logToConsole(payload: NdefPayload) {
switch payload {
case .text(let text):
print(text.text, text.languageCode)
case .uri(let uri):
print(uri.url.absoluteString)
case .smartPoster(let morePayloads): // Smart poster is just a container for more payloads
morePayloads.forEach { logToConsole(payload: $0) }
case .empty:
print("empty payload")
case .unknown(_):
print("oops")
}
}
完整的示例项目可在示例目录中找到。
要求
iOS 11+,iPhone 7或更新。
作者
Impekable是一家基于加州圣何塞的UI设计和移动开发工作室。我们帮助从初创企业到财富500强公司创建难忘的人性化移动体验。
许可证
NFCDecoder
在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。