배경
#243에서 FCM 푸시를 실기기 E2E까지 검증했으나 이는 development(개발 APNs) 경로다. 배포판(App Store/TestFlight)은 aps-environment=production이어야 푸시가 배달된다. 현재 Support/WSS-iOS.entitlements는 development 고정이라, 이대로 배포하면 크래시는 없지만 푸시가 조용히 안 온다.
문제
aps-environment 값은 서명 프로파일 종류에 따라 달라야 한다:
- 실기기 Xcode Run (Development 프로파일) →
development
- App Store / TestFlight (배포 프로파일) →
production
단일 entitlements 파일에 값 하나로는 둘 다 못 맞춘다.
할 일 (3파일)
Projects/App/Support/WSS-iOS.entitlements: aps-environment 값을 $(APS_ENVIRONMENT) 변수로.
Projects/App/Project.swift: config별 APS_ENVIRONMENT 지정 — Debug=development / Release=production.
fastlane/Fastfile의 debug_beta: Debug config로 아카이브하지만 TestFlight(배포)라 production이 필요 → xcargs로 APS_ENVIRONMENT=production 오버라이드.
세 경로 결과:
- 내 폰 Xcode Run (Debug, override 없음) →
development ✅
debug_beta (Debug + xcargs override) → production ✅
release (Release) → production ✅
검증
production 실배달은 TestFlight 업로드로 확인해야 한다(development 경로는 #243에서 검증 완료). 컷오버 리허설 때 함께 검증.
관련
배경
#243에서 FCM 푸시를 실기기 E2E까지 검증했으나 이는 development(개발 APNs) 경로다. 배포판(App Store/TestFlight)은
aps-environment=production이어야 푸시가 배달된다. 현재Support/WSS-iOS.entitlements는development고정이라, 이대로 배포하면 크래시는 없지만 푸시가 조용히 안 온다.문제
aps-environment값은 서명 프로파일 종류에 따라 달라야 한다:developmentproduction단일 entitlements 파일에 값 하나로는 둘 다 못 맞춘다.
할 일 (3파일)
Projects/App/Support/WSS-iOS.entitlements:aps-environment값을$(APS_ENVIRONMENT)변수로.Projects/App/Project.swift: config별APS_ENVIRONMENT지정 — Debug=development/ Release=production.fastlane/Fastfile의debug_beta: Debug config로 아카이브하지만 TestFlight(배포)라 production이 필요 →xcargs로APS_ENVIRONMENT=production오버라이드.세 경로 결과:
development✅debug_beta(Debug + xcargs override) →production✅release(Release) →production✅검증
production 실배달은 TestFlight 업로드로 확인해야 한다(development 경로는 #243에서 검증 완료). 컷오버 리허설 때 함께 검증.
관련
docs/TODO.md4번-7 (컷오버 체크리스트)