← 전체 글로 돌아가기

Flutter

Flutter 실기기 디버깅: 에뮬레이터와 다를 때

Flutter 앱이 에뮬레이터에서는 잘 돌아가는데 실기기에서 문제가 생길 때 확인하는 순서.

실기기와 에뮬레이터는 성능, 권한, 네트워크 등이 다르다. 에뮬레이터에서 정상이어도 실기기에서 문제가 날 수 있다.

먼저 작은 이상 신호도 빨리 분리해서 봐야 한다. 특히 운영 중이면 하나의 에러가 사용자 영향으로 바뀐다.

실기기 권한 확인

앱이 요청하는 권한이 실제로 주어졌는지 확인하자. Android와 iOS에서 권한 요청 방식이 다르다.

  • 카메라, 마이크, 위치, 파일 접근 등 각 권한별로 확인
  • 앱 설정 > 권한에서 실제 상태 확인
  • 처음 설치 후 권한 재요청 테스트

flutter doctor와 빌드 모드

flutter doctor -v
flutter run --verbose

verbose 모드로 실행하면 실기기에서 어떤 메시지가 출력되는지 볼 수 있다. 로그에서 에러나 경고를 찾자.

API 응답 비교

실기기에서 특정 API 응답이 달라지는지 확인하자. 네트워크 환경(WiFi vs 모바일)에 따라 응답 속도나 내용이 다를 수 있다.

빌드 모드: Debug vs Release

debug 모드에서는 정상인데 release 모드에서 문제가 생기는 경우가 있다. 최적화 설정이나 난독화로 인한 차이를 살펴보자.

문제를 해결했다면, 어떤 조건에서 문제가 났는지, 실기기의 어느 설정을 바꿨는지 기록해두자. 다음 확인이 훨씬 빨라진다.