← 전체 글로 돌아가기

Flutter

Flutter 테마 문제를 빠르게 디버깅하는 순서

Flutter에서 테마가 제대로 반영되지 않을 때는 환경과 빌드 상태를 먼저 확인해야 한다.

Flutter 프로젝트에서 테마가 예상과 다르게 나타나면 보통 많은 파일들이 범인으로 의심된다. 하지만 체계적으로 접근하면 실제 원인은 몇 가지로 좁혀진다.

환경 진단

첫 번째는 항상 flutter doctor다.

flutter doctor -v

이 명령어는 개발 환경의 설치 상태, Xcode/Android Studio 버전, SDK 호환성을 한 줄에 보여준다. 특히 다른 개발자의 머신에서는 테마가 제대로 보이는데 내 환경에서만 이상할 때, 도구 버전 차이가 원인일 수 있다.

빌드 모드 확인

로컬 개발 중에는 hot reload를 사용하지만, 배포할 때는 release 빌드를 한다. 이 두 가지는 다르게 작동할 수 있다.

flutter run --release

Release 빌드로 테마를 확인해봐야 실제 배포 후 모습을 미리 볼 수 있다. Debug 빌드에서는 정상이지만 release에서 문제가 생기는 경우도 있다.

API 응답과 상태 확인

테마가 서버에서 받은 데이터에 따라 동적으로 결정된다면, API 응답을 먼저 본다.

flutter run --verbose | grep -E 'GET|POST|Response'

실기기에서 실행할 때는 verbose 플래그로 네트워크 요청을 추적할 수 있다. 로컬에서는 맞는데 실기기에서 테마가 다르면, 보통 API 응답이 다르거나 네트워크 지연 때문이다.

단계별 확인

  1. 증상을 다시 한 번 재현한다. 매번 나타나는지, 특정 조건에서만 나타나는지 확인한다.
  2. 로그나 응답에서 바뀐 부분을 한 줄로 정리한다. 예를 들어 "색상 코드가 null로 받아졌다"와 같이.
  3. 테마가 하드코딩된 파일과 동적으로 받아오는 부분 중 어느 쪽이 문제인지 구분한다.

마무리

테마 문제는 시각적이라 눈에 띄지만, 원인은 환경이나 데이터 때문일 수도 있다. 확인 순서를 고정해두면 같은 실수를 반복하지 않고 더 빠르게 해결할 수 있다.