iOS 13 Core NFC-如何写空消息以删除标签?

时间:2019-10-09 23:59:10

标签: ios objective-c nfc ios13 core-nfc

我正在尝试使用iOS 13中的Core NFC擦除NFC标签上的所有内容。如果我查看编写标签的文档,则会得到以下功能:

- (void)writeNDEF:(NFCNDEFMessage *)ndefMessage completionHandler:(void (^)(NSError *))completionHandler;

我通常使用以下功能创建NFCNDEFMessage:

- (instancetype)initWithNDEFRecords:(NSArray<NFCNDEFPayload *> *)records;

InitwithNDEFRecords指出记录是:

An array of payload objects for the message. To create an empty message, pass in an empty array.

因此,我当前的功能是:

//Create an array containing the records we will write.
NSMutableArray* writeArray = [[NSMutableArray alloc] init];

[tag writeNDEF:[[NFCNDEFMessage alloc] initWithNDEFRecords:writeArray] completionHandler:^(NSError* error) {}];

我认为代码将传递到空数组中,并且不会在标签上创建空消息来擦除它。我在完成块内收到一个错误,该错误在写入日志时如下所示:

Error Domain=NFCError Code=401 "Stack Error" UserInfo={NSLocalizedDescription=Stack Error, NSUnderlyingError=0x280fecc60 {Error Domain=nfcd Code=15 "Stack Error" UserInfo={NSLocalizedDescription=Stack Error}}}

如果我没有传递空数组并且实际上有一些记录要写入,那么它将正确地写入标记。

我看到App Store上的应用程序确实支持擦除标签,例如“ NFC工具”。我与开发人员联系,但是他没有回复我的电子邮件。

如何在iOS 13上擦除标签?

0 个答案:

没有答案