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
commit8e1bca3ceb15127056b881ddab692bf82d19a11b (patch)
treea22569da0a90ecbd2dd51bc325431b82cc5cf939
parente7cbaaedce499a32b629b7d03d932558e48db0b2 (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()