ios - NFC NDEF 在 IOS 编码上的写入

标签 ios flutter core-nfc

我正在开发一个 flutter 应用程序,它可以读取和写入 NFC 标签。在 Android 上它运行得很好。现在我正致力于在 IOS 上实现 NFC 写入,因为它现已可用。

我确实让应用程序将文本记录写入标签。但不知怎的,它是用 UTF16 编写的,这使得事情变得支离 splinter 。

如何使用 UTF-8 编码的字符串创建 NFCNDEFPayload.wellKnownTypeTextPayload?

最佳答案

你已经完成了大部分工作。这是一个完整的工作示例,它修复了一些问题(特别是缺少“类型”说明符和区域设置用法):

var payloadData = Data([0x02,0x65,0x6E]) // 0x02 + 'en' = Locale Specifier
payloadData.append("Text To Write".data(using: .utf8)!)

let payload = NFCNDEFPayload.init(
    format: NFCTypeNameFormat.nfcWellKnown,
    type: "T".data(using: .utf8)!,
    identifier: Data.init(count: 0),
    payload: payloadData,
    chunkSize: 0)

请注意,这会将区域设置设置为“en”。

我已经在 iPhone 和 Android 上测试了使用此代码创建的标签,它似乎工作正常。

关于ios - NFC NDEF 在 IOS 编码上的写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58115985/

相关文章:

ios - ViewController 实例没有被删除?

android - 发布到 Google Play 商店后,MissingPluginException(在 channel plugins.flutter.io/google_sign_in 上找不到方法 init 的实现)

iOS 11 Core NFC - 没有这样的模块 'Core NFC'

ios - 尺寸错误的 UIImagePickerController View

ios - ViewControl 之外的 Swift 选择器

ios - Cordova:我可以在 div 中显示 native 应用程序组件吗?

dart - 如果它们在 2 个不同的 dart 文件中,则从其他小部件更新小部件

dart - 在 Flutter 应用中下载大型 pdf 文件

ios - Xcode12 CoreNFC 模拟器库未加载

ios - 如何在iOS中找到 "NFC Tag Identifier"