[React-Native] 스토어에 올라온 제품만 error가 나온 상황 해결 과정

승환·2023년 5월 26일
0

React-Native_Issue

목록 보기
3/8
post-custom-banner

이슈 발생 내용


  • 합병관련 개인정보 이관 알림 업데이트 이후 앱이 종료되는 현상
  • 개발할때는 아무 문제없었음
  • identifier가 각각 dev,qa,production의 파일들을 모두 dev, qa , production 로 모두 빌드 해보았으나 아무런 문제가 발생하지 않음
  • 실제 출시된 제품에서만 터지는 현상
  • 앱이 강제종료 되는 계정은 따로 있었는데 예약정보가 있는 계정이면 ios,andorid 모두 강제종료되었음

[그 당시에 해결하면서 정리했던 노트]

원인


  • 기기마다 폰트 크기 호환성을 맞추기위해 추가한 useWindowDimension 때문에 오류발생
    근데 useWindowDimension의 fontScale은 결국 사용하지 않았다
import {, useWindowDimension } from ‘react-native’;

...
...

{
	const { fontScale } = useWindowDimension();
}

해결


  • 미사용 코드인 fontScale을 삭제하니 문제 해결

왜 수정까지 오래 걸렸는가?


  1. 실제 제품이 아닌 개발중에서는 아무런 오류가 생기지 않았다.
  2. 실제 마켓제품의 Log도 출력해서 보았으나 제대로된 에러가 출력되지 않았다.
  3. 초반에 백엔드단에서 error code를 499를 내뱉어서 nginx오류로 오판

결론 및 마무리


  • 모든 테스트 환경에서 고객에게 제공되는 앱환경에서만 발생하는 오류이기 때문에 해결까지의 상당한 시간이 걸렸다.
  • RN에서 제공해주는 Modal과 useWindowDimension이 충돌한거 아닐까 추측
  • 미사용 코드가 있다면 꼭! 주석 처리를 하거나 라이브빌드 코드에선 지워서 이러한 상황을 미연에 방지하는 습관을 가져야겠다.
profile
반갑습니다~
post-custom-banner

0개의 댓글