NFC Apdu 写入命令在 iOS 中不起作用

The NFC Apdu Write Command not work in iOS

提问人:刘俊利 提问时间:11/8/2023 最后编辑:HangarRash刘俊利 更新时间:11/9/2023 访问量:28

问:

连接到 NFC Desfire 卡时,使用此功能发送 apdu:

- (void)sendMiFareISO7816Command:(NFCISO7816APDU *)apdu
      completionHandler:(void(^)(NSData *responseData, uint8_t sw1, uint8_t sw2, NSError * _Nullable error))completionHandler API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos, macos, tvos);

对于这些命令也起作用:

static int const kSelectApplication = 0x5a;
static int const kContinue = 0xaf;
static int const kAuthenticate = 0x0a;
static int const kReadData = 0xbd;
static int const kFormatPicc = 0xfc;
static int const kGetManufaturingData = 0x60;
static int const kChangeKey = 0xc4;
static int const kNoChanges = 0x0C;

但除了:

static int const kWriteData = 0x3d;

这是我要发送的数据:

903D000037010000003000008A7CD69F147025696C6559E01F84177D5A0CBDF3D65ECDF08F657405ABFB0A9AF79209D8DD63B035FC0437CBC41277D700

大约 60 秒后收到以下内容:

[CoreNFC] -[NFCTagReaderSession 收发:tagUpdate:错误:]:879 错误 域 = NFCError 代码 = 202 “XPC 错误” UserInfo={NSLocalizedDescription=XPC 错误, NSUnderlyingError=0x283af0bd0 {错误域 = NSCocoaErrorDomain Code=4099“与名为 com.apple.nfcd.service.corenfc 已从此进程中失效。 UserInfo={NSDebugDescription=与名为 com.apple.nfcd.service.corenfc 已从此进程中失效。

那么命令0x3d有什么问题呢?这在android上运行良好。

IOS版 Objective-C NFC DESfire

评论

0赞 Ptit Xav 11/26/2023
Apple 并未授权 NFC 的所有内容。这可能就是问题所在。

答: 暂无答案