투케이2K

617. (ios/swift5) [기능 정리] NFC 기능을 사용하기 위한 Core NFC 설명 및 기능 사용 정리 본문

IOS

617. (ios/swift5) [기능 정리] NFC 기능을 사용하기 위한 Core NFC 설명 및 기능 사용 정리

투케이2K 2024. 12. 26. 19:15

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[설명 정리]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Swift

- 개발 툴 : Xcode

- 기술 구분 : Core NFC

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------

1. Core NFC 은 NFC 태그를 감지하고, NDEF 데이터가 포함된 메시지를 읽고, 쓰기를 지원해주는 프레임워크입니다


2. Core NFC 를 사용하면 NFC 데이터 교환 형식(NDEF)의 데이터가 포함된 유형 1~5의 근거리 무선 통신(NFC) 태그를 읽을 수 있습니다

  >> ISO 7816, ISO 15693, FeliCa™, MIFARE® 태그와 같은 프로토콜별 태그와 상호작용할 수 있습니다


3. Core NFC 사용 가능 지원 범위 : 

  >> iOS 11.0 이상
  >> 아이패드OS 11.0+
  >> 맥 카탈리스트 13.1+


4. Core NFC 사용을 위한 필수 설정 : 

  >> 프로젝트 대상의 Capabilities 탭에서 Near Field Communication Tag Reading 추가
  >> Info.plist 파일에서 NFCReaderUsageDescription 추가 및 NFC 사용을 위한 설명 작성


5. Reader sessions 관련 정리 (NFC 태그를 스캔하고 감지) : 

  >> class NFCNDEFReaderSession : NFC 데이터 교환 형식(NDEF) 태그를 감지하기 위한 리더 세션입니다.
  >> class NFCTagReaderSession : ISO7816, ISO15693, FeliCa, MIFARE 태그를 감지하기 위한 리더 세션입니다.
  >> class NFCVASReaderSession : 부가가치 서비스(VAS) 태그를 처리하기 위한 독자 세션입니다.
  >> class NFCReaderSession : NFC 태그를 감지하기 위한 리더 세션을 나타내는 추상 기본 클래스입니다.
  >> protocol NFCReaderSessionProtocol : 독자 세션과 상호작용하기 위한 일반 인터페이스입니다.
  >> class NFCReaderSession : NFC 태그를 감지하기 위한 리더 세션을 나타내는 추상 기본 클래스입니다.
  >> Near Field Communication Tag Reader Session Formats Entitlement : 앱이 읽을 수 있는 근거리 무선 통신 데이터 형식입니다.


6. Tag types 관련 정리 (적절한 태그 유형 인터페이스를 사용하여 태그 데이터를 읽고 쓰기 가능한 태그에 데이터를 저장) : 

  >> protocol NFCISO7816Tag : ISO 7816 태그와 상호작용하기 위한 인터페이스입니다.
  >> protocol NFCISO15693Tag : ISO 15693 태그와 상호작용하기 위한 인터페이스입니다.
  >> protocol NFCFeliCaTag : FeliCa™ 태그와 상호작용하기 위한 인터페이스입니다.
  >> protocol NFCMiFareTag : MIFARE® 태그와 상호작용하기 위한 인터페이스입니다.
  >> protocol NFCNDEFTag : NDEF 태그와 상호작용하기 위한 인터페이스입니다.
  >> enum NFCTag : NFC 태그 객체를 나타내는 객체입니다.
  >> class NFCTagCommandConfiguration : NFC 태그 명령의 구성을 정의하는 데 사용하는 매개변수 집합입니다.


7. NDEF messages and payloads 관련 정리 (메시지 및 페이로드) : 

  >> class NFCNDEFMessage : 페이로드 레코드 배열로 구성된 NFC NDEF 메시지입니다.
  >> class NFCNDEFPayload : NFC NDEF 메시지의 페이로드 레코드입니다.


8. Card sessions 관련 정리 (카드 세션) : 

  >> class CardSession : ISO 7816 카드 에뮬레이션 세션입니다.
  >> class NFCPresentmentIntentAssertion : 앱이 장치의 비접촉식 기능만을 사용하려는 의도를 나타내는 객체입니다.


9. NFC window scenes 관련 정리 : 

  >> protocol NFCWindowSceneDelegate : NFC 관련 이벤트에 대해 앱의 사용자 인터페이스에 알리는 프로토콜입니다.
  >> enum NFCWindowSceneEvent : 앱에서 사용자 인터페이스를 업데이트하는 데 사용하는 NFC 관련 이벤트입니다.


10. Error 에러 표시 관련 정리 : 

  >> enum Code : 리더 세션 및 태그 오류 코드.
  >> struct NFCReaderError : 독자 세션이나 태그에 문제가 있음을 나타내는 오류 유형입니다.
  >> let NFCErrorDomain: String : Core NFC API와 관련된 오류에 대한 도메인입니다.
  >> let NFCTagResponseUnexpectedLengthErrorKey: String : 잘못된 수신 응답 패킷 길이를 나타내는 사용자 정보 사전 키입니다.

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[애플 공식 사이트 설명]

https://developer.apple.com/documentation/corenfc


[프로젝트 설정]

https://blog.naver.com/kkh0977/223705186026


[에러 코드 확인]

https://developer.apple.com/documentation/corenfc/nfcreadererror-swift.struct/code

// --------------------------------------------------------------------------------------
 
반응형
Comments