Conversation
snughnu
approved these changes
Aug 26, 2026
snughnu
left a comment
Collaborator
There was a problem hiding this comment.
GoogleService-Info.plist는 어떻게 전달받으면 될까요?
수고하셨습니다! 🙊
Collaborator
Author
|
@snughnu |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JIRA
📝 작업 내용
📌 요약
🔍 상세
Firebase 프로젝트 연결
GoogleService-Info.plist를 통해 Firebase 프로젝트(whereareyou-16ea6)를 연결하고,AppDelegate에서FirebaseApp.configure()를 호출하여 초기화합니다.SDK 모듈 추가
SPM으로 5개 Firebase 모듈을 타겟에 추가했습니다:
FirebaseFirestore— 약속/채팅/공유장소 데이터FirebaseDatabase— 실시간 위치 공유FirebaseAuth— 애플 로그인 인증FirebaseStorage— 프로필 아바타 이미지FirebaseAnalytics— 사용 통계 수집Firebase CLI 초기화
firebase init으로 생성된 설정 파일들입니다:firebase.json— 에뮬레이터 포트, 규칙 파일 경로 등 CLI 전체 설정.firebaserc— 프로젝트 연결 정보firestore.rules,database.rules.json,storage.rules— 보안 규칙 (현재 테스트 모드, 인증 구현 후 강화 예정)firestore.indexes.json— Firestore 복합 인덱스 (현재 비어 있음)functions/— Cloud Functions 코드 (푸시 알림 구현 시 사용 예정)에뮬레이터 연결
AppDelegate에서#if DEBUG조건으로 에뮬레이터 연결 코드를 추가했습니다.Debug 빌드에서는 로컬 에뮬레이터에, Release 빌드에서는 프로덕션 Firebase에 자동 연결됩니다.
에러 처리 모델
Firebase 서비스별 NSError를 앱 수준 에러(
AppError)로 변환하는 구조를 만들었습니다:AppError(Domain) — 앱 공통 에러 enum (network,notAuthenticated,permissionDenied,notFound,alreadyExists,unknown)FirebaseErrorMapper(Data) — NSError의 domain/code를 분류하여AppError로 변환Firestore / Realtime Database 규칙 문서
RDB에서
create TABLE로 미리 형태를 정해두는 것과는 달리, 기능을 추가할 때마다 데이터 생성/조회/수정/삭제 형태를 작성하는 상황을 생각했습니다.같이 작업하다보니 미리 규칙을 정해두면 좋을 것 같아 JIRA 문서로 정리해두었습니다.
💬 리뷰 노트
에뮬레이터 사용 방법
로컬에서 Firebase 기능을 테스트하려면 에뮬레이터를 실행한 상태에서 앱을 빌드해야 합니다.
에뮬레이터 없이 Debug 빌드를 실행하면 localhost 연결 실패로 Firebase 호출이 동작하지 않습니다.
# 프로젝트 루트에서 실행 firebase emulators:start에뮬레이터 UI(
http://localhost:4000)에서 데이터 확인/조작이 가능합니다.상세한 환경 설정 방법은 JIRA 문서에 정리해두었습니다.
보안 규칙
현재 테스트 모드(모든 읽기/쓰기 허용)로 설정되어 있습니다.
인증 기능 구현 후
request.auth기반으로 강화할 예정입니다.AppError 사용 예시
다음 작업
request.auth)으로 Firestore/RTDB/Storage 규칙 강화