Description 배경
Xcode에서 직접 생성한 1.4 (1) 빌드 UUID가 Firebase Crashlytics의 dSYM 누락 대상으로 등록됨
저장소의 기본값은 MARKETING_VERSION = 1.4, CURRENT_PROJECT_VERSION = 1이므로 Xcode 직접 빌드가 1.4 (1)로 생성됨
2026년 7월 3일 TestFlight 1.4 (1) 앱 본체 UUID는 AF8CB5B3-D8B3-3BA2-9EB8-329317C422AB이며, 아래 누락 UUID 및 해당 TestFlight dSYM 전체와 일치하지 않음
보존된 최근 TestFlight/App Store dSYM에서도 아래 UUID가 발견되지 않아 삭제된 로컬 Xcode 산출물로 판단됨
누락 UUID
33358645-05B1-38E6-A112-43F3DFA35EB7
F3E0C80C-6856-3E83-94E1-EEDF24BA0F55
6FCC0790-B22C-37C7-93A0-8F130797911C
82E9B0E8-3BB3-32BC-815F-2B95905196F6
원인
Application/App/Project.swift에서 Staging과 Release의 FirebaseCrashlyticsCollectionEnabled가 YES로 설정됨
Xcode에서 직접 Staging 또는 Release를 빌드해도 Crashlytics가 활성화됨
FirebaseAppServiceImpl의 setCrashlyticsCollectionEnabled(true) 호출값은 기기에 보존되고 Info.plist보다 우선하므로, 이후 로컬 빌드에서도 이전 활성화 상태가 남을 수 있음
Crashlytics는 TestFlight/App Store 여부가 아니라 전달받은 이벤트의 실행 파일 UUID를 기준으로 dSYM을 요구함
작업 범위
Xcode 직접 빌드의 Debug, Staging, Release에서 Crashlytics 수집을 기본 비활성화
FirebaseAppServiceImpl의 실행 시점 setCrashlyticsCollectionEnabled(true) 제거
fastlane/Fastfile의 build_for_store에서만 Crashlytics 활성화 설정 주입
TestFlight/App Store 빌드에서만 dwarf-with-dsym을 사용하고 기존 dSYM 업로드 흐름 유지
생성된 IPA의 FirebaseCrashlyticsCollectionEnabled 값이 true인지 배포 전 검증
배포 dSYM UUID 목록을 텍스트 아티팩트로 보존해 이후 누락 알림의 출처를 대조할 수 있도록 구성
개발 기기에 보존된 Crashlytics 활성화 값과 미전송 보고서를 정리하는 전환 절차 확인
완료 조건
Xcode에서 직접 빌드한 Debug, Staging, Release 앱이 Crashlytics 이벤트를 전송하지 않음
로컬 Xcode 빌드 UUID가 새로운 dSYM 누락 대상으로 추가되지 않음
Fastlane으로 생성한 TestFlight와 App Store 앱에서는 Crashlytics가 활성화됨
TestFlight/App Store dSYM이 Firebase에 업로드되고 배포 UUID 목록이 아티팩트로 보존됨
배포 IPA의 Crashlytics 활성화 설정을 자동으로 검증함
변경된 Swift 파일은 SwiftLint, iOS 프로젝트 변경은 빌드만 수행하여 검증함
제외 범위
기존에 삭제된 로컬 dSYM 복구
Firebase Console에 이미 등록된 과거 누락 UUID 제거
개발용 bundle ID 또는 별도 Firebase app 추가
Crashlytics에 기록하는 오류 종류와 metadata 변경
Reactions are currently unavailable
You can’t perform that action at this time.
배경
1.4 (1)빌드 UUID가 Firebase Crashlytics의 dSYM 누락 대상으로 등록됨MARKETING_VERSION = 1.4,CURRENT_PROJECT_VERSION = 1이므로 Xcode 직접 빌드가1.4 (1)로 생성됨1.4 (1)앱 본체 UUID는AF8CB5B3-D8B3-3BA2-9EB8-329317C422AB이며, 아래 누락 UUID 및 해당 TestFlight dSYM 전체와 일치하지 않음누락 UUID
33358645-05B1-38E6-A112-43F3DFA35EB7F3E0C80C-6856-3E83-94E1-EEDF24BA0F556FCC0790-B22C-37C7-93A0-8F130797911C82E9B0E8-3BB3-32BC-815F-2B95905196F6원인
Application/App/Project.swift에서Staging과Release의FirebaseCrashlyticsCollectionEnabled가YES로 설정됨Staging또는Release를 빌드해도 Crashlytics가 활성화됨FirebaseAppServiceImpl의setCrashlyticsCollectionEnabled(true)호출값은 기기에 보존되고Info.plist보다 우선하므로, 이후 로컬 빌드에서도 이전 활성화 상태가 남을 수 있음작업 범위
Debug,Staging,Release에서 Crashlytics 수집을 기본 비활성화FirebaseAppServiceImpl의 실행 시점setCrashlyticsCollectionEnabled(true)제거fastlane/Fastfile의build_for_store에서만 Crashlytics 활성화 설정 주입dwarf-with-dsym을 사용하고 기존 dSYM 업로드 흐름 유지FirebaseCrashlyticsCollectionEnabled값이true인지 배포 전 검증완료 조건
Debug,Staging,Release앱이 Crashlytics 이벤트를 전송하지 않음제외 범위