# flutter error

29개의 포스트

[Flutter] Column안에 ListView.builder 를 내용만큼 height 주기

Column안에 여러 개의 ListView.builder를 사용해보려 하였더니, 아래와 같은 오류가 발생했다. 오류 내용 > FlutterError (Vertical viewport was given unbounded height. Viewports expand in the scrolling direction to fill their container. In this case, a vertical viewport was given an unlimited amount of vertical space in which to expand. This situation typically happens when a scrollable widget is nested inside another scrollable widget. If this widget is always nested in a scrollable widget there is no need to use a viewport be

2023년 4월 29일
·
0개의 댓글
·

[Flutter] Column children 유동적으로 add 하는 방법

한 화면에 서브 타이틀과 그에 해당하는 리스트들이 있는 경우, 각 아이템 리스트에 ListView.builder를 하게 되면, 전체 스크롤(SingleChildScrollView)과 부분 스크롤(ListView.builder)을 하는데 있어서, 부분 스크롤 때문에 전체 스크롤 영역이 애매할 것이다. 그렇기 때문에 전체 스크롤(SingleChildScrollView)과 각 타이틀이 갖는 아이템 리스트들을 Column으로 이용해 아이템 리스트에 스크롤이 없도록 ui를 작성해보았다. 예를들어, 아래와 같이 "참여 중인 모임", "승인 대기 중인 모임", "내가 찜한 모임"이 갖는 리스트들은 각 갯수에 맞는 높이를 가져야 하는데 이는 아래와 같이 사용하면 된다. 이때, Column(children: co

2023년 4월 29일
·
0개의 댓글
·

[Flutter] dispose() error 해결

Flutter에서 viewModel 사용 시, 화면전환을 빠르게 한다면, 화면을 다 그리지 않은 상태에서 다시 그릴 때, dipose오류가 발생한다. 그렇기 때문에 dipose() 메서드를 재정의 하여 화면을 다 그렸다는 것을 알려줘야 된다. 오류 내용 > Exception has occurred. FlutterError (A ViewModel was used after being disposed. Once you have called dispose() on a ViewModel, it can no longer be used.) 해결 방안

2023년 4월 21일
·
0개의 댓글
·
post-thumbnail

[Flutter] addPostFrameCallback이 호출되지 않는다면? / GetX에서 onReady() 함수가 실행되지 않는다면?

💡 이 글에서 제시하는 해결책은 GetX를 쓰는 프로젝트에서 특정 화면에 대해 onReady() 함수가 실행되지 않을 때에도 적용할 수 있습니다. (이는 GetX의 onReady() 함수 또한 onInit() 안에서 addPostFrameCallback을 통해 실행되기 때문입니다.) 출처 : Flutter : addPostFrameCallback callback not called 원인 위 문제는 Flutter가 오류가 발생하는 해당 화면에 대해서 새 프레임을 그리지 않고 있고, 이로 인해 addPostFrameCallback이 실행되지 않기 때문에 발생합니다. → 이 문제를 해결하려면, 새 프레임을 그리도록 ‘강제’해야 합니다. `ensureVisual

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[Flutter] ListView 상단에 의도하지 않은 margin/padding이 생기는 경우

문제 Sliver처럼 다른 height를 건드리는 Widget 안에 ListView를 넣는 경우, 종종 ListView 상단에 코드에는 없는 margin이나 padding이 생겨서 의도보다 사이 공간이 더 벌어져 있는 경우가 있다. (추측이지만, ListView를 Sliver 내에서 사용하는 경우 기본 padding값이 생기는 것으로 보입니다. ListView 코드를 직접 까서 확인해보고 내린 결론입니다.) 해결책 ListView의 padding에 EdgeInsets.zero를 넣으면 해결됩니다!

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[Flutter] 화면이 아예 build되지 않고 앱이 멈추는 오류/Freezing(프리징) 오류

진단 방법 어느 동작을 할 때 UI가 멈추는지 살펴봅니다. 해당 동작과 연결된 모든 코드를 주석 처리하고, 각 단계별로 주석을 해제해가며 UI가 멈추는 정확한 지점을 찾습니다. UI가 멈추는 정확한 지점의 변수나 코드, 연결된 객체가 어떤 것이 있는지 살펴봅니다. 원인 및 해결책 > 현재까지 제가 겪은 경험대로라면, Observable 객체에 대한 event로 인해 무한루프가 발생해서 UI가 freezing되는 경우가 있었습니다. 다른 원인으로 경험해본 건 아직 없네요. (UI가 느려지는 경우는 있었는데, 이건 다른 원인이었기 때문에 별도의 글로 작성했습니다.) 하나의 Observable(GetX의 Rx 객체 등) 객체에 대한 event로 인해 무한루프가 발생하는 경우, 무한루프로 인해 UI Freezing이 발생합니다. 예를 들면, Observable 객체 a에 대해 a를 다른 방식으로 초기화하는 이벤트 event가 걸

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[Flutter] 동일 프로젝트에 대해, 특정 컴퓨터에서는 실행되나 다른 컴퓨터에서는 라이브러리 오류가 발생하는 경우

한 줄 요약 : 라이브러리 버전 문제입니다. 해결책 pubspec.lock에서 두 컴퓨터가 동일한 버전의 라이브러리를 사용 중인지 체크합니다. 다른 버전을 사용 중이라면, pubspec.lock에서 해당 라이브러리의 버전을 정상 버전으로 고정하고 다시 프로젝트를 공유합니다. 대부분 버전 표기에 ^를 쓰는데, 이 경우 새로 프로젝트를 받은 컴퓨터에서는 기존 버전보다 최신 버전의 라이브러리를 받는 경우가 발생할 수 있습니다. 이 때, 만약 최신 버전의 라이브러리에서 변경점이 있다면, 기존 코드와 호환되지 않아서 오류가 발생하게 됩니다. 따라서, 이런 이슈가 있는 라이브러리의 경우 버전 앞의 ^ 표시를 지워서 특정 버전의 라이브러리만 사용하도록 하면 됩니다. 주의할 점 이렇게 버전을 강제할 경우, 해당 라이브러리의 메이저 업데이트를 따라가지 못하거나, 해당 버전의 지원이 끊겨도 대응하지 못하는 문제가 있습니다

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[Android] Release된 앱의 logcat을 보는 방법

참고 : https://jinseok12.tistory.com/107 안드로이드 실기기를 컴퓨터와 연결한 뒤, 아래 순서대로 실행하시면 됩니다. (참고로 아래 글은 맥북 기준으로, 윈도우는 조금 다를 수 있습니다.) Terminal을 띠웁니다. 디바이스 연결 확인 : adb devices -> 연결한 디바이스가 나오면 성공입니다. 해당 기기의 개발자 권한이 허용되어 있어야 합니다. 특정 앱의 PID 확인 : adb shell ps | grep 패키지명 특정 앱의 logcat 보기 : adb logcat --pid=(패키지 pid) 로그 메세지를 화면에 덤프하고 종료하려면 : -d 로그 메세지를 지정한 파일 이름으로 저장하려면 : -f 예시) adb logcat -d -f /sdcard/log.txt (주의 : 루팅된 단말기에서 앱을 실행하는 경우

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[Android] cancelDraw null isViewVisible: true 오류 (SplashScreen이 비정상적으로 그려지거나, SplashScreen에서 Freezing이 발생하는 경우)

참고 : https://github.com/flutter/flutter/issues/93668 해결책 AndroidManifest.xml의 .MainActivity activity 태그 안에 아래의 meta-data 태그를 넣으면 됩니다. 해결책에 대한 설명 위 태그는 원래 기본적으로 생성되어 있는 태그이나, 버전에 따라 지워져 있는 경우가 있을 수 있습니다. 그럴 경우 위 해결책을 적용하시면 됩니다. 참고로, 위의 meta-data 태그를 지우게 되면 안드로이드 앱 빌드 시 종종 나타나는 ‘Flutter splash screen deprecated error’가 나타나지 않게 됩니다. (정확히는, 저 코드를 둔 채로 빌드하면 빌드 완료 직전에 SplashScreenDrawable이 deprecated되었다는 메세지가 나오는데, 위 met

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[Android] 안드로이드 앱 아이콘이 나타나지 않는 오류

참고 : https://medium.com/mobile-app-development-publication/three-important-yet-unbeknown-android-app-launcher-behaviors-f8b6e59d5340 원인 AndroidManifest에서 android.intent.action.MAIN action과 android.intent.category.LAUNCHER category가 있는 `에 ` 태그를 추가하는 경우 앱 아이콘이 사라집니다. 해결책 해당 Activity에 ` 태그가 필요한 경우, 아래와 같이 `

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[iOS] flutter_inappwebview 라이브러리에서 `Cannot call value of non-function type 'String?’`오류가 발생하는 경우

해결책 : XCode를 14 이상 버전으로 업데이트하시면 됩니다. (단, XCode 14 이상 버전은 macOS 12.6 이상에서만 동작하기 때문에 macOS 업데이트를 같이 해야 할 수도 있습니다.) 초보 분들을 위한 조언 : XCode 업데이트 진~짜 오래 걸립니다. 몇 시간 잡아먹는 경우도 종종 발생하니, 급한 개발을 하시는 중이라면 신중하게 업데이트하시는 것을 권장드립니다.

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[iOS] M1 계열 맥북에서 undefined method `map' for nil:NilClass 오류 발생 시

참고 : Flutter ios 오류해결 : Error output from CocoaPods: ↳ Searching for inspections failed: undefined method `map' for nil:NilClass 해결책 아래 순서대로 따라합니다. Install ffi 터미널에서 입력 : sudo arch -x86_64 gem install ffi Re-install dependencies ios/ 위치에서 입력 : arch -x86_64 pod install

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[iOS] "Unable to boot the Simulator" 오류로 인해 iOS 시뮬레이터가 실행되지 않는 경우

참고 : Flutter: XCode error "Unable to boot the Simulator" 해결책 아래 순서대로 하시면 됩니다. Go to [About this Mac > Storage > Manage > Developer] Delete all the content 추가 : 2번까지 하고 난 뒤, Flutter의 경우 Android Studio나 Visual Studio가 아닌 XCode에서 프로젝트를 한 번 빌드한 후 실행해볼 것을 권장합니다. (종종 이걸 안 하면 XCode에선 빌드되는데 다른 IDE에서는 iOS 앱이 빌드되지 않는 경우가 있습니다.)

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[iOS] GeneratedPluginRegistrant.m Module not found 오류

참고 : https://github.com/flutter/flutter/issues/53573 해결책 우선 Podfile에서 platform :ios, '9.0' 코드가 활성화되어 있고, 버전이 9.0이 아닌 다른 버전인지 확인합니다. 다른 버전이라면, 아래 두번째 이미지처럼 ‘Deployment Info’의 Target Version을 Podfile의 버전과 똑같이 맞춰줍니다.

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[iOS] '..., but they required a higher minimum deployment target’ 오류

참고 : https://stackoverflow.com/questions/38602469/higher-minimum-deployment-target-error-when-installing-firebase-crash-reports > 해결책 : Podfile에서 platform :ios, '9.0' 코드의 주석을 제거하면 됩니다. 만약 그래도 안 되면 버전을 올리시면 됩니다.

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[iOS] 'Flutter/Flutter.h' file not found when flutter run on iOS 오류

참고 : https://stackoverflow.com/questions/64973346/error-flutter-flutter-h-file-not-found-when-flutter-run-on-ios 해결책 : 아래 순서대로 하시면 됩니다. Backup ios/Runner folder. Delete the ios folder. Run flutter create (your project name). in the previous folder where you have your project(cd users/user/"projects_folder") (this will recreate your ios folder). Paste your Runn

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

[iOS] Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies 오류

참고 : https://stackoverflow.com/questions/64443888/flutter-cocoapodss-specs-repository-is-too-out-of-date-to-satisfy-dependencies 간단한 해결책 : 프로젝트의 iOS 폴더에서 아래 명령어를 실행합니다. intel mac : pod repo update m1 mac : arch -x86_64 pod repo update 위 방법으로도 안 된다면 : 터미널을 켜서 문제가 생긴 Flutter 프로젝트의 root 폴더로 들어간 뒤, 다음 순서대로 입력합니다. flutter clean `delete /ios/Pod

2023년 1월 8일
·
0개의 댓글
·
post-thumbnail

Flutter Error Build failed due to use of deprecated Android v1 embedding

01 - 문제발생 github에서 flutter 관련 예제를 fork한뒤, 실행을 해보니 아래와 같은 에러가 발생하였습니다. 02 - 해결방안 A android\app\src\main\AndroidMainfest.xml 파일을 열고 수정해주면 됩니다. 변경전 변경후 (stackoverflow 참고) https://stackoverflow.com/questions/71413851/build-failed-due-to-use-of-deprecated-android-v1-embedding-when-building-flutt 03 - 해결방안 B android 폴더를 삭제합니다. 터미널에서 를 실행합니다. (stackoverflo

2022년 11월 26일
·
0개의 댓글
·

[Flutter/Error] A KeyUpEvent is dispatched, but the state shows that the physical key is not pressed. 에러 해결법

How can I get a user's timezone based on location and create a DateTime() based on that timezone? 1. 에러 내용 TextForm에 내용을 입력하려고 하는데 갑작스럽게 에러가 발생했다. 위의 에러 내용을 얼핏 봤을 때 KeyUpEvent 관련 내용이라 추측이 되었다. 아니, 갑자기? 아무튼, 해당 에러와 관련된 해결법으로는 대개 두 가지를 말하고 있었다. TextFormField 와 연관되어 있

2022년 4월 9일
·
0개의 댓글
·
post-thumbnail

[Flutter] TextField 클릭시 레이아웃 재빌드 문제

Topic >TextField 를 사용하다 textfield 끼리 충돌이 발생되는 문제를 작성해보았다. Problem >TextField를 터치할 때마다 레이아웃 재빌드 문제. Solve >[TextField] - Flutter API 공식문서 중 일부. A material design text field. A text field lets the user enter text, either with hardware keyboard or with an onscreen keyboard. The text field calls the [onChanged] callback whenever the user changes the text in the field. If the user indicates that they are done typing in the field (e.g., by pressing a

2022년 3월 27일
·
0개의 댓글
·