iOS Swift
-
BLE 프로토콜 구조iOS Swift 2023. 6. 7. 13:41
BLE 프로토콜은 세 개의 주요 파트로 구성 되는데 각각 application, host, controller 라고 부릅니다. 이 블럭 내에는 별개의 레이어로 이루어 집니다. BLE 프로토콜 레이어 PHY (Physical Layer) 물리 계층(PHY)은 실제 블루투스 무선 라디오 주파수를 이용해 통신을 하는 계층으로 아날로그 신호와 디지털 신호를 변조/복조하는 회로를 포함합니다. 기본적으로 2.4GHz 신호를 40개의 채널로 나누어 통신하는 데 그 중 세 채널은 Advertising 을 위해 나머지는 Data 전송을 위해 사용됩니다. Link Layer 링크 계층은 물리 계층과 인터페이스 하는 부분으로 블루투스의 저전력 사양을 준수하기 위한 타이밍 요구 사항이나 무선 상태를 관리하는 역할을 합니다. ..
-
NFCNDEFReaderSessioniOS Swift/애플 문서 한글화 2023. 6. 6. 17:36
Class 이 문서는 애플 공식 문서 NFCNDEFReaderSession 을 한글화 하였습니다. NFCNDEFReaderSession NDEF(NFC 데이터 교환 포맷) 태그 감지를 위한 리더 세션 Declaration class NFCNDEFReaderSession : NFCReaderSession Overview NFCReaderSession 과 마찬가지로 한 번에 하나의 NFC NDEF 판독기 세션만 시스템에서 활성화될 수 있습니다. 추가 세션을 생성하면 시스템은 세션을 대기열에 넣고 선입선출(FIFO) 순서로 처리합니다. Topics 세션 생성 init(delegate: NFCNDEFReaderSessionDelegate, queue: dispatch_queue_t?, invalidateAfte..
-
Core NFCiOS Swift/애플 문서 한글화 2023. 6. 6. 17:24
이 문서는 애플 공식 문서 Core NFC 를 한글화한 문서입니다. framework Core NFC NFC 태그 감지, NDEF 데이터를 포함하고 있는 메시지 읽기, 쓰기 가능한 태그에 데이터 저장 Overview 앱은 사용자의 물리적 환경 안에서 실제 개체에 대한 더 많은 정보를 태그를 읽어 사용자에게 제공할 수 있습니다. CoreNFC를 사용하면 NFC Data Exchange Format(NDEF) 의 데이터가 포함된 유형 1 ~ 5의 근거리 무선 통신(NFC) 태그를 읽을 수 있습니다. 예를 들어 앱은 상점에서 찾은 제품이나 박물관에서 방문한 전시회에 대한 정보를 사용자에게 제공할 수 있습니다. 또한 앱은 데이터를 태그에 기록할 수도 있고, ISO 7816, ISO 15693, FeliCa™ 과..
-
Adding Support for Background Tag ReadingiOS Swift 2023. 6. 6. 16:33
Article 백그라운드 태그 읽기 지원 추가하기 사용자가 백그라운드 태그 읽기를 통해 앱 없이 NFC 태그를 스캔할 수 있도록 합니다. Overview 백그라운드 태그 읽기를 지원하는 iPhone에서 시스템은 사용자가 앱을 사용하여 태그를 스캔할 필요 없이 NFC 데이터를 스캔하고 읽을 수 있습니다. 시스템은 새 태그를 읽을 때마다 팝업 알림을 표시합니다. 사용자가 알림을 탭하면 시스템이 태그 데이터를 적절한 앱에 전달합니다. iPhone이 잠겨 있으면 태그 데이터를 앱에 제공하기 전에 시스템에서 사용자에게 폰 잠금을 해제하라는 메시지를 표시합니다. Note iPhone XS 이상에서 백그라운드 태그 읽기를 지원합니다. 의도하지 않은 태그 읽기를 방지하기 위해 시스템은 사용자의 iPhone이 사용 중일..
-
Building an NFC Tag-Reader AppiOS Swift/애플 문서 한글화 2023. 6. 6. 15:56
Sample Code 이 문서는 https://developer.apple.com/documentation/corenfc/building_an_nfc_tag-reader_app 를 한글화한 문서입니다. NFC 태그 리더 앱 만들기 NDEF 메시지가 포함된 NFC 태그를 읽습니다 Overview 이 프로젝트의 샘플 코드는 앱에서 Core NFC를 사용하여 NDEF(NFC 데이터 교환 형식) 데이터가 포함된 타입 1~ 5의 근거리 무선 통신(NFC) 태그를 읽는 방법을 보여줍니다. 이 샘플을 사용하려면 프로젝트를 다운로드하고 Xcode를 사용하여 빌드합니다. 빌드 후 iPhone에서 샘플 앱을 실행시킵니다. NFC와 통신을 하려면 스캔 버튼을 탭하여 태그 스캔을 시작한 다음 휴대폰을 NFC 태그 근처에 가져..
-
NDEF 의 TNF(Type Name Format)iOS Swift 2023. 6. 6. 14:57
NDEF 의 헤더 값 중 TNF는 레코드 내 페이로드의 타입을 설정하는 데 사용됩니다. 0 Empty Type 페이로드가 존재하지 않는다 1 NFC Forum well-known 타입 포럼에서 정의한 형식 2 MIME 타입 3 AURI(Absolute URI type) 4 NFC Forum External Type NFC 포럼에서 정의한 형식되로 임의의 타입을 만들 때 사용 5 Unknown Type 6 Unchanged 청크 레코드 에서 해당 슬라이스가 이전 슬라이스와 같은 타입임을 나타낼 때 사용 7 Reserved 사용되지 않음 NFC 포럼은TNF 1 과 TNF 4 에 대해 Record Type Definition(RTD) 규격에 이를 정의하고 있습니다. TNF 1은 Well Known Types ..
-
NDEF(NFC Data Exchage Format) 메시지 구조iOS Swift 2023. 6. 6. 13:51
Core NFC NDEF NDEF(NFC Data Exchange Format)는 NFC를 이용한 데이터 통신에서 사용되는 데이터 교환 포맷을 정의한 프로토콜입니다. 이는 폰과 태그 사이에 데이터 송 수신 시 사용됩니다. NDEF 메시지는 하나 이상의 NDEF 레코드로 구성됩니다. NDEF 레코드는 아래와 같이 레코드에 대한 정보를 표현하는 헤더와 실제 전송될 데이터를 나타내는 페이로드로 구성됩니다. NDEF 헤더 구조 NDEF 헤더의 첫 바이트는 해당 레코드에 대한 플래그 값들이 설정되어 있습니다. 각 플래그 값에 대한 내용은 아래 표와 같습니다. MB 7 Message Begin NDEF의 첫번째 레코드를 나타낼 때 1로 설정 ME 6 Message End NDEF의 마지막 레코드를 나타낼 때 1 로..
-
swift 에서 C++ 사용하기 - opencv 연동iOS Swift 2020. 9. 9. 23:44
swift에서는 직접적으로 C++ 을 사용할 수 없다. C++을 사용하기 위해서는 Object-C 파일에서 C++ 를 사용하고, Object-C 소스 파일과 헤더파일을 생성한 후 Header 파일을 브릿지해서 swift에서 object-c 함수를 호출하도록 해야한다. 구조는 아래와 같다. 실제 C++ 코드는 OpenCVWapper.mm 에서 사용되고 해당 인터페이스의 정의 부분인 OpenCVWrapper.h 파일을 EdgeDector-Bridging-Header.h를 통해서 브릿지 하면 swfit 소스 파일에서 이를 호출해 사용할 수 있는 구조로 이루어 진다. 여기서는 opencv의 프레임워크를 연동해 이미지의 에지를 그리는 예제를 통해서 실제 어떻게 C++ 라이브러리를 swift를 통해서 사용할 수 있..