갑자기 잘 동작하던 코드가 message.g.h를 찾을 수 없다는 오류 메시지와 함께 사용이 되지 않는 문제가 발생했습니다. FVM을 이용하여 플러터 버전을 올렸는데, 그 과정에서 프로젝트 파일이 꼬여서 생긴 문제 같습니다.
그에대해 어떻게 발생 오류와 어떻게 해결했는지 기록합니다.
Lexical or Preprocessor Issue (Xcode): 'messages.g.h' file not found
Users/{USERNAME}/.pub-cache/hosted/pub.dev/wakelock_plus-1.3.0/ios/wakelock_plus/Sources/wakelock_plus/WakelockPlusPlugin.m:1:8
wakelock_plus라는 라이브러리는 화면이 꺼지지 않도록 유지시키는 라이브러리라고 합니다. 아마 Xcode의 ios 시뮬레이터를 위해 동작하는 것 같습니다.
이를 해결하기 위해 여러 방법을 수행해보았지만 아래의 방법들은 소용이 없었습니다.
1. .pub-cache 파일 삭제
2. flutter clean 및 pub get을 통한 라이브러리 재설치
3. 새로운 프로젝트 폴더 생성 및 사용
타겟 플러터 버전과 실제 사용하던 플러터 버전이 다름을 확인, 이를 수정하기 위해 FVM을 이용해 플러터 버전을 변경했었습니다. 이 과정에서 설치되는 여러 라이브러리들의 버전이 꼬이는 문제가 아마 원인인 것 같습니다.
같은 코드를 공유하는 다른 분들의 프로젝트 파일을 직접 비교해 본 결과, pubspec.lock 파일에 기록되어 있는 wakelock_plus 버전이 다름을 확인했습니다.
pubspeck.lock 파일이 문제라고 판단하여, 이를 삭제 후, flutter clean 및 pub get을 통한 라이브러리 재설치를 진행했습니다.
flutter clean
flutter pub get
그 결과, pubspec.lock 파일이 재생성되며, 이후 프로젝트 빌드에 성공했습니다.
만약 저와 같은 문제가 있으시다면, `pubspec.lock` 파일 삭제 한 후, flutter 라이브러리를 재설치해보시길 바랍니다.
[Flutter] Row 내부 TextField 렌더링 이슈 (1) | 2025.05.26 |
---|---|
[플러터] AppBar - actions, Scaffold - EndDrawer 함께 사용하기 (2) | 2025.01.01 |