개요
프로젝트에서 사용하는 DB로 Firebase firestore를 사용하려고 했다.
사용하기 간편하고 팀에 백엔드가 없는 상황에서 가장 사용하기 쉽기에 firestore를 사용할 계획이었다.
그러나 플랫폼의 특징을 띠고 있는 현재의 프로젝트 특성상 종속성이 없는 firestore는 문제가 있다고 판단이 되었다.
그리고 아래와 같이 프로젝트 방향성도 바뀌게 되면서 DB를 바꿔야 하는 상황이 되어버렸다.
바뀐 프로젝트 방향성
노인의 todos를 추가하자
장점)
1. 로그인 할때 노인의 정보를 가져올때 투두 정보를 전부 가져올 수 있다
2. 보호자가 구독중인 노인들 투두 정보를 가져올 때, 정보를 같이 가져오지 못해서 노인의 정보를 가져오려면 한 명 한명 일일이 쿼리를 또 날려야한다. 합치면 한 번에 노인의 정보와 투두를 가져올 수 있다.
로그인 할때, 노인의 경우=> 본인 정보와 투두를 모두 가져온 다음 그걸 전부 캐싱해서 전체보기때는 전체 보여주고, 오늘 할 일은 오늘 할 일만 보여주면, 로그인 시 날린 쿼리 하나로 투두 read까지 전부 해결 가능 단 이경우엔, 노인이 가진 전체 투두가 오기 때문에 무거울 수도 있다
단점)
보호자가 구독중인 노인정보를 가져올 때, 노인들이 가진 투두가 모두 딸려온다. 이게 조금 무거울 수 있다.
실제 용량을 확인해 볼 것 .
생각보다 그리 무거울거 같진 않다
그래서 원래 넣어놓았던 firestore를 빼고 realtimeDB로 바꾸려고 했는데 또 오류가 발생했다.
arch -x86_64 pod install
Analyzing dependencies
cloud_firestore: Using Firebase SDK version '10.6.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '10.6.0' defined in 'firebase_core'
firebase_database: Using Firebase SDK version '10.6.0' defined in 'firebase_core'
[!] CocoaPods could not find compatible versions for pod "Firebase/Firestore":
In snapshot (Podfile.lock):
Firebase/Firestore (= 10.3.0)
In Podfile:
cloud_firestore (from.symlinks/plugins/cloud_firestore/ios
) was resolved to 4.4.3, which depends on
Firebase/Firestore (= 10.6.0)
You have either:
- out-of-date source repos which you can update withpod repo update
or withpod install --repo-update
.
- changed the constraints of dependencyFirebase/Firestore
inside your development podcloud_firestore
.
You should runpod update Firebase/Firestore
to apply changes you've made.
전에 올렸던 M1 맥의 Flutter CocoaPod설치 오류인줄 알고 arch x86_64를 붙이고 다시 해보려고 했는데, 이미 붙여놓고 돌렸다는 사실을 알고 잠깐 당황했다.
해결방안
그래서 온갖 방법을 다 해봤는데 방법은 podfile.lock에 있는 모든 명시를 다 지우고 다시 `arch x86_64 pod install`을 실행하는 것이었다. ▼
이후 다시 돌려주니 제대로 실행이 되었다!
정확한 이유는 좀 더 찾아봐야겠지만, 추측으로는 기존에 설치되어있던 podfile들과 파일 순서가 꼬이면서 이런 문제가 발생한 것 같다.
그래서 podfile.lock에 있는걸 다 지우고 처음부터 다시 설치를 해줬을 때 꼬였던게 사라지면서 제대로 돌아간 것 같다.
어디까지나 추측이다.
정확한 이유를 찾으면 업데이트를 하겠다.
'Develop > Flutter' 카테고리의 다른 글
[Flutter][Error] Unhandled Exception: MissingPluginException (0) | 2024.02.28 |
---|---|
[Flutter][Error] Firebase Realtime DB 이름 규칙 오류 (0) | 2024.02.24 |
[Flutter][Package] ScreenUtil 패키지 (0) | 2024.02.15 |
[Flutter][Widget] Spacer 위젯 (0) | 2024.02.14 |
[Flutter] Const를 사용해야하는 이유 (2) | 2024.02.14 |