summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Moeller <Jan.Moeller@governikus.de>2023-08-28 15:59:33 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-08-30 10:32:49 +0000
commit4f3a60314be0ce247deca88af58e315b7068a91e (patch)
treec5439ae925befb4e52a95861d918f0f2b59219c7
parent59f9db1f88d40f02380ce6fb22e994b4e4c16c33 (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.mm11
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()