Flutter 앱에서 iOS 15 업데이트 후 키보드 이슈 해결
문제 상황
iOS 15가 정식 출시된 이후 사용자들로부터 앱 내에서 텍스트 입력이 안 된다는 문의가 들어오기 시작했다. 재현해보니 TextField를 탭해도 키보드가 올라오지 않고, 간헐적으로 앱이 멈추는 현상이 발생했다.
현재 프로젝트는 Flutter 2.2.3 stable 버전을 사용 중이었다.
원인 파악
Flutter GitHub 이슈를 확인해보니 iOS 15의 변경사항과 관련된 문제였다. iOS 15에서 UITextField의 동작 방식이 일부 변경되면서 Flutter 엔진과의 호환성 문제가 발생한 것으로 보였다.
해결 방법
Flutter 2.5.0 버전에서 iOS 15 관련 이슈들이 수정되었다는 릴리즈 노트를 확인했다.
flutter upgrade
flutter --version # Flutter 2.5.1
업그레이드 후 pubspec.yaml의 일부 패키지들도 호환성 문제로 버전 업데이트가 필요했다.
environment:
sdk: ">=2.14.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
provider: ^6.0.0
shared_preferences: ^2.0.8
Pod 파일도 재설치했다.
cd ios
rm -rf Pods Podfile.lock
pod install
cd ..
flutter clean
flutter pub get
결과
iOS 15 기기에서 키보드 입력이 정상적으로 동작하는 것을 확인했다. 다만 Flutter 2.5로 업그레이드하면서 null safety 관련 경고가 몇 개 추가로 발생해 이후 점진적으로 수정할 예정이다.
메이저 OS 업데이트 시즌에는 Flutter 버전도 함께 체크하는 것이 좋겠다는 교훈을 얻었다.