Flutter에서 Firebase의 firestore를 사용하려고 할 때, 패키지 추가까지는 문제가 없는데 가상 모바일 기기를 빌드하는 단계에서 에러가 나는 경우가 있어요.
이 문제를 어떻게 해결했는지를 적어보려고 해요.
Firestore를 설치하려면 공식 문서를 따라 하는 게 좋아요. 개발 환경 설정에서 지시대로 진행해 주세요.
만약 Firebase 설정이 안 되어 있으시다면, Firebase를 구성하고 초기화를 먼저 진행해 주세요.
플러터 프로젝트를 개발 모드로 실행시켰을 때, 정확한 에러 출력이 날아갔지만, 아래와 비슷한 문구가 콘솔에 나왔었어요.
CocoaPods could not find compatible versions for pod "cloud_firestore":
Firestore 설정을 하라는 대로 했으면 Podfile을 수정하셨을 텐데요.
거기서 저는 Mac OS라 터미널에 gem install cocoapods
했을 때, 권한이 없다는 식으로 메시지가 나왔었어요.
이게 firstore의 직접적인 해결책은 아닌 것 같지만, 저는 stackoverflow의 글을 참고해서 brew install cocoapods
으로 설치해 줬어요. 그리고 저는 M1이라 기본 sh인 zsh에도 alias를 추가해 줬어요.
터미널에서 vim ~/.zshrc
으로 들어간 뒤, 가장 마지막에 stackoverflow 링크에서 pod 명령어를 다른 명령어로 대체하는 작업을 적용하고 source ~/.zshrc
명령을 적용해 주고 VS Code를 다시 실행했어요.
Flutter 프로젝트에 존재하는 ios 폴더로 진입한 뒤, pod install
명령을 쳤을 때, 잘 될 것 같았지만 아래와 같은 에러가 표시되었어요.
이 문제를 해결하는 방법은 Podfile로 가 2번째 라인을 보면 # platform :ios, '12.0'
이렇게 주석처리 되어있을 텐데요. 주석을 해제하고 pod install
다시 시도해 봐도 에러가 날 겁니다. 그 이유는 cloud_firestore, firebase_auth, firebase_core 같은 패키지가 버전에 따라 최소 요건 버전이 올라갈 수 있어서 해당 버전까지 올려줘야 해요.
저 같은 경우는 13.0
으로 변경하니 pod install
이 정상적으로 설치가 되고 빌드 또한 잘 되었어요.
Peace is not something you wish for. It's something you make, something you do, something you are, and something you give away.
— Robert Fulghum