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 | 8e1bca3ceb15127056b881ddab692bf82d19a11b (patch) | |
tree | a22569da0a90ecbd2dd51bc325431b82cc5cf939 | |
parent | e7cbaaedce499a32b629b7d03d932558e48db0b2 (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() |