flutter 앱 내에서 nfc 태깅을 사용하는 회사앱을 개발 중 nfc_manager 3.5.0 라이브러리를 사용하고 있는데 갑자기 안된다.

 

어떻게?

그냥 안된다..... 반응이 없다. 폰을 껏다 켜봐도 반응이 없다.

 

여러가지로 테스트를 해봤는데 이상한 점을 발견했다.

 

이상한 점 

1. 앱 내부에서만 안됨

2. 다른 기기도 동일 (S24, 갤럭시 폴드4) 

3. 앱 실행 전 화면에서는 태깅 정삭 인식

4. Flutter 소스코드나 모듈업데이트 등 수정한 항목은 전혀 X

 

GPT한테 물어봤다.

 

 

계속 비슷한 말만 반복하는데

 

그만 알아보도록 하자 ^-^....

 

 

 

그러다 문득 생각 난게 있었다.

 

ios 앱 내에서는 태깅을 하려면 반드시 아래 사진처럼 스캔 준비 완료 가이드 창이 

 

필수로 떠야 하는데 이 창을 뜨게 하려면 pollingOptions(태깅 호환 타입 정의)에서

 

iso18092, iso15693 2개를 추가 해야 떴었다. 

 

대표적인 iso 옵션은 아래와 같다

 

대표적인 iso 옵션

NfcPollingOption.iso14443 교통카드, 신용카드 등에 많이 사용됨 (MIFARE, Type A/B)
NfcPollingOption.iso15693 장거리 NFC 태그 (산업용)
NfcPollingOption.iso18092 P2P 통신용 (예: 안드로이드 빔)

 

ios 태깅 가이드

 

아무튼 iso가 어떤 항목들이 있는지 상세 연결 코드에 들어가 보니 아래와 같은 옵션 3개가 있었다

 

 

nfc_manager 소스 코드

 

여기서 사용 되지 않은 태깅 iso 번호를 속는 셈 치고 한개 추가 해보았더니 갑자기 인식이 되었다.

 

iso14443 

 

원인은 정확하게 모른다.

 

해당 라이브러리 깃허브 사이트에 올라온 공식적인 이슈는 아직까진 없다.

 

그런데 문제가 아이폰으로 와서 빌드를 하면 저 iso14443 때문에 태깅 가이드가 안뜨는 어이없는 문제가 발생하여 

 

Platform별로 pollingOptions를 다르게 주는 방식으로 변경 하였다.

 

아무래도 삼성의 OneUI를 업데이트 하면서 무슨 문제가 발생 한 것 같은데 

 

정확한 건 아직 밝혀진 게 없다.

 

 

3줄 요약 

1. 갤럭시 S23이상 (Android 13, API 33) 에서 태깅 무반응 오류 발생

2. 자신의 코드에서 pollingOptions에서 iso 14443,15693, 18092 3개중 한개라도 없는게 있으면 추가

3. 태깅 성공

 

 

+ Recent posts