Skip to content

[fix] iOS 푸시 알림 파이프라인 정비 및 Firebase Dev App ID 마이그레이션 (#39) - #40

Merged
hjunieee merged 3 commits into
mainfrom
fix/issue-39-ios-push-notification-pipeline
Oct 13, 2026
Merged

hjunieee merged 3 commits into
mainfrom
fix/issue-39-ios-push-notification-pipeline

Conversation

@hjunieee

Copy link
Copy Markdown
Collaborator

관련 이슈

Closes #39

개요 및 배경

  • iOS(TestFlight) 환경에서 안드로이드와 달리 푸시 알림이 일체 수신되지 않던 문제를 해결합니다.
  • Firebase 콘솔에 \com.inuappcenter.unidorm.dev\가 정식 등록됨에 따라 신규 발급된 App ID로 CI/CD 스크립트를 갱신하고, iOS 클라이언트의 APNs 선제 등록 및 토큰 발급 레이스 컨디션을 해결했습니다.

주요 변경 사항

1. Firebase Dev 설정 동기화

  • \codemagic.yaml: \ios-dev-testflight\ 및 \ios-dev-adhoc\ 워크플로우 내 생성되는 \GOOGLE_APP_ID\를 신규 발급된 ID(\1:495990333760:ios:14438fe30b6813a06cdaa5)로 갱신.
  • \GoogleService-Info-Dev.plist: 로컬 환경 파일 갱신.

2. iOS APNs 선제 등록 및 레이스 컨디션 해결

  • \src/push/messaging.ts:

    • equestNotificationPermission: 사용자 권한 팝업 대기 전에 iOS
      egisterDeviceForRemoteMessages\를 즉시 선제 호출하여 백그라운드 APNs 등록 개시.
    • 알림 권한 획득(\AUTHORIZED\ / \PROVISIONAL) 즉시 FCM 토큰을 발급받아 웹뷰로 자동 브로드캐스팅하는 연쇄 트리거 구현.
    • \getFcmTokenWithRetry: iOS 환경에서 APNs 토큰 도착 여부(\getAPNSToken)를 선행 확인하고 최대 5회 지능형 재시도 적용.
  • \src/push/fcmTokenSync.ts:
    • \�roadcastFcmToken(token)\ 함수를 구현하여 토큰 로테이션뿐만 아니라 신규 권한 획득 시점에도 활성 웹뷰로 토큰을 안전하게 전파.

3. 단위 테스트 및 목킹 환경 보강

  • \src/push/tests/messagingIosPipeline.test.ts: iOS 선제 APNs 등록, 권한 승인 시점 토큰 브로드캐스트, \getAPNSToken\ 대기 및 재시도 검증 단위 테스트 작성.
  • \src/push/tests/fcmTokenSync.test.ts: \�roadcastFcmToken\ 직접 전파 기능 단위 테스트 추가.
  • \jest.setup.js: 전역 Firebase 목킹에 APNs 및 권한 관련 메서드 보강.

검증 결과

  • Jest 단위 테스트 전체 24개 스위트, 211개 테스트 100% 통과 (\PASS)
  • TypeScript 정적 컴파일 검사 에러 0건 (
    px tsc --noEmit\ 통과)

@hjunieee
hjunieee merged commit ee754be into main Oct 13, 2026
1 check passed
@hjunieee
hjunieee deleted the fix/issue-39-ios-push-notification-pipeline branch October 13, 2026 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[버그] iOS 푸시 알림 파이프라인 정비 및 Firebase Dev 설정 마이그레이션

1 participant