Open choyi918 opened 1 year ago
답변이 늦어 죄송합니다. 로그상으로는 undefined인 function이 IMP.certification.dart
인 것으로 보여지는데요, 실제로 저러한 함수가 존재하지 않기 때문에 발생한 문제라고 생각됩니다. 따로 라이브러리 코드를 수정해서 사용하셨나요?
아니요 라이브러리 내부는 수정하지 않았고, 깃허브 예제코드에서 페이지 라우팅하는 방식과 IamportCertification() 위젯을 렌더링하는 페이지에 입력 데이터를 넘겨주는 방식만 조금 바꾸었습니다. 깃허브 예제코드를 따로 받아서 그것만 동일한 에뮬레이터로 돌려보면 잘 작동하는데 제 프로젝트에선 오류가 발생하네요 의존하고 있는 패키지버전 문제일 가능성이 있을까요?
웹뷰가 세개나 존재할 것이기 때문에 가능성은 높아보이지만 webview_flutter과의 충돌은 예전에 수정을 했었고 inappwebview와는 문제가 발생하는 것을 아직 못봤는데 현재 개발중인 앱에서 각 웹뷰 라이브러리를 하나하나 제거해가면서 실제로 충돌하는지 봐야 할 것 같습니다.
하나씩 지워보면서 확인해봤는데, 일단 이 문제는 아닌 것 같습니다!
그렇다면 IMP.certification 함수의 이름이 변경된 원인을 찾아야 하는데 데이터를 넘겨주는 방식에 혹시 짐작가는 부분이 있으신가요?
깃허브에 있는 라이브러리를 직접 제 프로젝트에 넣으면 잘 작동하는 것은 확인했습니다. 하지만 pubspec.yaml에 추가해서 라이브러리를 다운받는 방식으로는 여전히 같은 오류가 발생하네요. 어떤 점을 의심해봐야할까요?
깃헙 main은 최신 버전이므로 pubspec.yaml에 0.10.2(최신) 버전을 명시적으로 지정해서 동일하게 동작하는지를 살펴볼 수 있을 것 같습니다.
넵 이미 확인했으나 해결되지 않았습니다..
@choyi918 안녕하세요. 아임포트 기술지원팀입니다. 현재 상황이 아래로 파악되고 있는데 맞을까요?
저희가 내부적으로 재현이 되지 않아 디버깅에 어려움이 있는데, 테스트 가능한 샘플 코드를 전달 주시면 검토해보도록 하겠습니다.
PG 결제 테스트 연동은 완료했고, KG 이니시스로 본인 인증을 연동 중인데, 올려주신 예제를 참고하여 IamportCertification에 data를 넘겨주면 다음과 같은 예외 및 오류가 발생합니다.(유저코드(스토어아이디)와 개인정보는 로그에서 가렸습니다.) 일단 제가 사용하고 있는 프레임워크 및 라이브러리의 버전은 다음과 같습니다.
예외 및 오류 로그는 다음과 같습니다.
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(evaluateJavaScript_failed, Failed evaluating JavaScript, JavaScript string was: ' IMP.init("imp0000000"); IMP.certification.dart({"merchant_uid":"mid_1664241914369","company":"아임포트","carrier":"SKT","name":"홍길동","phone":"01012345678","min_age":19,"m_redirect_url":"http://www.xxxxx.com"}, function(response) { const query = []; Object.keys(response).forEach(function(key) { query.push(key + "=" + response[key]); }); location.href = "http://www.xxxxx.com" + "?" + query.join("&"); }); ' Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=2, WKJavaScriptExceptionMessage=TypeError: undefined is not a function (near '...IMP.certification.dart...'), WKJavaScriptExceptionColumnNumber=35, WKJavaScriptExceptionSourceURL=data:text/html,%20%20%20<…>
_Originally posted by @choyi918 in https://github.com/iamport/iamport_flutter/issues/81#issuecomment-1258855376_