원글 페이지 : 바로가기
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. 태깅 성공