[Tistory] [Flutter] 갤럭시 S23 이상 NFC 태깅 무반응

원글 페이지 : 바로가기

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. 태깅 성공

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다