YD_S 개발로그
article thumbnail

Flutter 3.13 으로 upgrade한 후로 뒤로가기를 감지하는 역할을 하던 WillPopScope 위젯이 작동을 안하네???

 

혹시나 3.13의 Release Note를 확인해 보니 이런 내용이 추가됐습니다.

Android 14에는 사용자가 유효한 뒤로 동작 중에 현재 경로 뒤를 엿보고 뒤로 계속할지 아니면 동작을 취소할지 결정할 수 있는 뒤로 예측 기능이 도입되었습니다. 이는 개발자가 뒤로 동작을 수신한 후 취소할 수 있도록 하는 Flutter의 탐색 API와 호환되지 않았습니다.
예측 뒤로를 사용하면 사용자가 동작을 시작할 때와 동작이 커밋되기 전에 뒤로 애니메이션이 즉시 시작됩니다. Flutter 앱에서는 해당 상황이 발생하도록 허용할지 여부를 결정할 기회가 없습니다. 미리 알려야 합니다.
이러한 이유로 Flutter 앱 개발자가 뒤로 동작이 수신될 때 뒤로 탐색을 취소할 수 있도록 하는 모든 API는 이제 더 이상 사용되지 않습니다. 뒤로 탐색이 가능한지 여부를 나타내는 부울 상태를 항상 유지하는 동등한 API로 대체되었습니다. 그렇다면 예측 뒤로 애니메이션이 평소와 같이 발생합니다. 그렇지 않으면 탐색이 중지됩니다. 두 경우 모두 앱 개발자에게 백이 시도되었다는 알림과 성공 여부가 통보됩니다.

 

결론적으로 WillPopScope 위젯이 PopScope 위젯으로 대체되었습니다.

 

마이그레이션 전 코드

 

마이그레이션 후 코드

 

Android 14가 정식 릴리즈 되기 전에 필수로 마이그레이션 적용하시길 바랍니다.

 

 

Reference

https://docs.flutter.dev/release/breaking-changes/android-predictive-back

 

Android Predictive Back

The ability to control back navigation at the time that a back gesture is received has been replaced with an ahead-of-time navigation API in order to support Android 14's Predictive Back feature.

docs.flutter.dev

 

profile

YD_S 개발로그

@YD_S

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!