You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS通过NFC向ISO7816-4标签发送C-APDU命令失败的问题求助

iOS通过NFC向ISO7816-4标签发送C-APDU命令失败的问题求助

各位好,我现在在做iOS端通过NFC给ISO7816-4标签发送Select命令的功能,遇到了棘手的问题,想请大家帮忙看看!

目前我已经在Info.plist里配置了对应的AID,也添加了NFC相关的权限entitlement,而且这个Select命令在Android端用IsoDep发送是完全正常的。

但在Swift代码里,我用session.connect(to: iso7816Tag)连接标签后,明明connect的回调里没有报错,可iso7816Tag.isAvailable的属性却是false,紧接着调用sendCommand(apdu:)的时候总会返回错误,要么是会话失效,要么是提示标签未连接。

我贴一下核心的代码片段:

session.connect(to: iso7816Tag) { error in
    if let error = error {
        // 这里根本没进来,说明connect没报错?
    }
    // 到这里的时候,iso7816Tag.isAvailable 是 false
    iso7816Tag.sendCommand(apdu: apdu) { data, sw1, sw2, error in
        // 每次都会走到这里的错误分支
    }
}

这段代码逻辑我觉得是很基础的,应该哪里有我没注意到的细节?我可以提供更多的代码或者配置信息,麻烦各位大佬帮忙排查一下问题,谢谢了!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 12:09:33