Qt NFC
NFC API는 NFC 지원 기기 간의 연결 기능을 제공합니다.
현재 이 API는 Android, iOS 및 Neard v0.14 이상을 사용하는 Linux에서 지원됩니다. 또한 이 모듈은 Linux, macOS 및 Windows에서 PC/SC 사양을 지원하는 리더기에 대한 제한적인 액세스도 제공합니다.
NFC는 최대 전송 속도가 424 Kbps인 단거리(20센티미터 미만) 무선 기술입니다. NFC는 두 기기를 서로 가까이 대었을 때 작은 데이터 패킷을 전송하는 데 이상적입니다.
이 NFC 모듈은 NFC 포럼 태그 및 NFC 포럼 기기와 상호 작용하기 위한 API를 제공합니다. 대상 감지 및 손실 감지, NDEF 메시지 핸들러 등록, NFC 포럼 태그의 NDEF 메시지 읽기 및 쓰기, 태그별 명령어 전송이 가능합니다.
모듈 사용 방법
Qt 모듈의 C++ API를 사용하려면 모듈 라이브러리를 직접 또는 다른 종속성을 통해 링크해야 합니다. CMake 및 qmake를 비롯한 여러 빌드 도구가 이를 전용으로 지원합니다.
CMake를 사용한 빌드
find_package() 명령을 사용하여 Qt6 패키지에서 필요한 모듈 구성 요소를 찾으십시오.
find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)자세한 내용은 ‘CMake를 사용한 빌드’ 개요를 참조하십시오.
qmake를 사용한 빌드
qmake를 사용하여 모듈을 빌드하도록 구성하려면, 프로젝트의 .pro 파일에서 QT 변수의 값으로 해당 모듈을 추가하십시오:
QT += nfc문서 및 가이드
로깅 범주
QtNfc 모듈은 다음 logging categories 를 내보냅니다:
| 로깅 범주 | 설명 |
|---|---|
| Qt NFC.neard | Neard/Linux 구현에 대한 로깅을 활성화합니다 |
예시
참조
보안 고려 사항
NFC 태그의 내용은 신뢰할 수 있는 입력으로 간주할 수 없습니다. 데이터를 사용하기 전에 유효성을 검증하는 것은 애플리케이션 개발자의 책임입니다.
URI
QNdefNfcUriRecord::uri() 및 QNdefNfcSmartPosterRecord::uri()와 같은 함수는 태그 콘텐츠에서 직접 디코딩된 URI를 반환합니다. 예를 들어, 애플리케이션은 반환된 URI를 열거나, 로드하거나, 해당 URI에 따라 조치를 취하기 전에, 해당 스키마가 애플리케이션이 수신할 것으로 예상하는 것(예: file 또는 javascript 이 아닌 https )인지 확인할 수 있습니다.
아이콘 데이터
QNdefNfcIconRecord::data() 및 QNdefNfcSmartPosterRecord::icon()와 같은 함수는 태그에 포함된 아이콘 데이터를 담은 원시 바이트 배열을 반환합니다. MIME 유형과 콘텐츠는 모두 태그 작성자가 제공하므로, 실제 바이트는 명시된 유형과 일치하지 않을 수 있습니다.
애플리케이션은 데이터가 유효하다고 가정하기보다는 디코딩 후 결과를 검증해야 합니다. 예를 들어, QImage에 데이터를 직접 전달하는 것은 QImage가 유효성 검사를 처리하므로 일반적으로 안전합니다. 그러나 데이터를 수동으로 처리하거나 Qt가 아닌 도구를 사용할 때는 추가적인 유효성 검사를 수행하는 것이 좋습니다.
모듈의 발전
Qt NFC 에는 Qt 6 시리즈를 위해 적용된 모듈 API 및 기능의 주요변경 사항이 나열되어 있습니다.
라이선스
Qt NFC Qt는 The Qt Company의 상용 라이선스 하에 제공됩니다. 또한, 자유 소프트웨어 라이선스 하에서도 제공됩니다. Qt 5.4부터 이러한 자유 소프트웨어 라이선스는 GNU Lesser General Public License 버전 3 또는 GNU General Public License 버전 2입니다. 자세한 내용은 Qt 라이선싱을 참조하십시오.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.