diff options
author | Jan Moeller <Jan.Moeller@governikus.de> | 2023-08-28 15:59:33 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-08-30 10:32:49 +0000 |
commit | 4f3a60314be0ce247deca88af58e315b7068a91e (patch) | |
tree | c5439ae925befb4e52a95861d918f0f2b59219c7 | |
parent | 59f9db1f88d40f02380ce6fb22e994b4e4c16c33 (diff) |
Consider protocols that derive NFCNDEFTag in isNdefTag()
NFCMiFareTag, NFCFeliCaTag, NFCISO15693Tag, NFCISO7816Tag all derive
NFCNDEFTag. Therefor, the current implementation of isNdefTag() will
return true for all of these, as they satisfy
[conformsToProtocol:@protocol(NFCNDEFTag)].
Fixes: QTBUG-116563
Change-Id: I816cb84b2c06f1f9401fccb3867ab78d3ee075b7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit 7de85709d6828e7ee9dd4fffd683a8d67228311b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/nfc/qnearfieldtarget_ios.mm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/nfc/qnearfieldtarget_ios.mm b/src/nfc/qnearfieldtarget_ios.mm index 7579f030..ecccb6f5 100644 --- a/src/nfc/qnearfieldtarget_ios.mm +++ b/src/nfc/qnearfieldtarget_ios.mm @@ -288,7 +288,16 @@ bool QNearFieldTargetPrivateImpl::connect() bool QNearFieldTargetPrivateImpl::isNdefTag() const { - return [static_cast<id>(nfcTag.get()) conformsToProtocol:@protocol(NFCNDEFTag)]; + const id tag = static_cast<id>(nfcTag.get()); + if ([tag conformsToProtocol:@protocol(NFCMiFareTag)]) + return false; + if ([tag conformsToProtocol:@protocol(NFCFeliCaTag)]) + return false; + if ([tag conformsToProtocol:@protocol(NFCISO15693Tag)]) + return false; + if ([tag conformsToProtocol:@protocol(NFCISO7816Tag)]) + return false; + return [tag conformsToProtocol:@protocol(NFCNDEFTag)]; } void QNearFieldTargetPrivateImpl::onTargetCheck() |